[AZURE RTOS][SMP] Azure rtos SMP flow

igenS 21 Reputation points
2022-08-22T18:41:38.1+00:00

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
Azure RTOS
An Azure embedded development suite including a small but powerful operating system for resource-constrained devices.
341 questions
0 comments No comments
{count} votes

Accepted answer
  1. Scott Azure RTOS 4,051 Reputation points
    2022-08-22T19:27:08.557+00:00
    1. 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.
    2. No. The scheduler will run on any core (and do housekeeping like updating time slice).

0 additional answers

Sort by: Most helpful

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.