- The ThreadX timer thread can execute on any core. I believe in some of our examples (e.g. https://github.com/azure-rtos/threadx/blob/master/ports_smp/cortex_a53_smp/ac6/example_build/sample_threadx/timer_interrupts.c#L57-#L59) the timer is set to interrupt only core 0. That is just example code we used from ARM.
- No. The scheduler will run on any core (and do housekeeping like updating time slice).
[AZURE RTOS][SMP] Azure rtos SMP flow
Hi ,
I have query ,this is more related to clarifying if my understanding of Threadx-SMP flow is correct .
1) In Smp mode (taken Cortex_a7_smp as reference) , Timer interrupt goes only to Primary core.
2) Primary core only , runs scheduler code ,bookkeeping operation (like time slice decrement ,etc ) of all threads (threads running on primary core and secondary core ) is done by core 0 on each tick.
When a time slice of thread running on secondary core expires, primary core updates the thread_execute pointer of secondary core with next thread
and generates the IPI for secondary core.
Azure RTOS
-
Scott Azure RTOS 4,051 Reputation points
2022-08-22T19:27:08.557+00:00