Unblocking a Task on the "Other" Core
Posted: Wed Jul 19, 2023 4:10 pm
Hello,
Suppose a task running on Core 0 posts some data to a FreeRTOS queue. Suppose further that a very high-priority task, that's pinned to Core 1, is currently blocked, pending on information to enter that queue.
Ideally, the high-priority task should very quickly become unblocked and preempt whatever task is currently running on Core 1 --- without needing to wait for that lower-priority task's tick time to expire. Does this happen and if so by what mechanism is Core 1 alerted to do an immediate context switch?
Thanks.
Suppose a task running on Core 0 posts some data to a FreeRTOS queue. Suppose further that a very high-priority task, that's pinned to Core 1, is currently blocked, pending on information to enter that queue.
Ideally, the high-priority task should very quickly become unblocked and preempt whatever task is currently running on Core 1 --- without needing to wait for that lower-priority task's tick time to expire. Does this happen and if so by what mechanism is Core 1 alerted to do an immediate context switch?
Thanks.