Skip to content

[BUG][Needs Check] IPC worker thread can run on secondary cores #8165

@lyakh

Description

@lyakh

Describe the bug

SOF isn't an SMP system, its use of cores is hard-wired. Most management tasks are only supposed to run on the primary core, only pre-assigned audio processing tasks should run on secondary cores. One of such management tasks is the EDF scheduler work handler. To fix it to the primary core a special work queue is created, which is set to only run on the primary core, and the delayed work, implementing the scheduler, is submitted to that queue.

Whereas the IPC delayed work is run on the default work queue, which on Zephyr can run on any core.

Expected behavior

The IPC delayed work should only run on the primary core.

Impact

Running on a secondary core without proper code synchronisation can lead to data corruption.

Metadata

Metadata

Assignees

Labels

P2Critical bugs or normal featuresbugSomething isn't working as expected

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions