Commit f86c659
committed
schedule: zephyr_ll: user_ll: keep lock while running tasks
In user-space LL builds (CONFIG_SOF_USERSPACE_LL), the IPC user thread
cannot block interrupts while making modifications to the audio graph.
To workaround this limitation, one could either protect each pipeline
object with locks, or keep the LL level lock held while executing
LL tasks.
This patch implements support for the latter approach. If building SOF
for user LL, do not release the lock when running a task. This will help
to reduce number of syscalls during a LL iteration, while still allowing
to safely implement IPC handlers that need to modify the audio graph.
Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>1 parent 21b6b0b commit f86c659
1 file changed
Lines changed: 10 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
231 | 231 | | |
232 | 232 | | |
233 | 233 | | |
| 234 | + | |
| 235 | + | |
| 236 | + | |
| 237 | + | |
| 238 | + | |
| 239 | + | |
| 240 | + | |
234 | 241 | | |
| 242 | + | |
235 | 243 | | |
236 | 244 | | |
237 | 245 | | |
| |||
246 | 254 | | |
247 | 255 | | |
248 | 256 | | |
| 257 | + | |
249 | 258 | | |
| 259 | + | |
250 | 260 | | |
251 | 261 | | |
252 | 262 | | |
| |||
0 commit comments