smp support

Gedare Bloom gedare at
Wed Jan 10 16:43:00 UTC 2018

On Fri, Dec 29, 2017 at 3:55 AM, at
< at> wrote:
> thanks
> but i still confused about the smp configuration and the mutiprocessor
> configuration .
> for example. for zynq ,they has two arm core.   if i use the mutiprocessor
> configuration , Is  rtems  use the two cores in amp mode ? is the rtems
> manage the two cores? if rtems manages two cores,i think it is in smp mode
> because  i think the concept of smp mode  is the one system can manage
> muticores which are  same cpu architecture。this is conflictive for my point
> of view
SMP means all cores are treated equally by the operating system.

AMP means cores are not treated the same by the OS, which can cover a
lot of heterogeneous behavior.

RTEMS provides SMP capability.

>  i think amp mode is rtems run in one core, another core is bare-metal or
> linux. but the mutiprocessor configuration let me confused, it said as
> follows
> "The RTEMS multiprocessor execution model is multiple instruction streams
> with multiple data
> streams (MIMD). This execution model has each of the processors executing
> code independent
> of the other processors. Because of this parallelism, the application
> designer can more easily
> guarantee deterministic behavior."
This statement is true regardless of SMP/AMP: in either case, program
code runs independent of other processors.

> is it means one rtems system instance run in one core ,and another rtems
> system instance  run in another core? and they can excute code independent?
> sorry, i think maybe i have some concept confused
One RTEMS instances executes across both cores, and both cores can
execute code independent. It is possible for both cores to be
executing OS functions simultaneously, or one core to execute OS code
while another runs application, or both cores to execute application
code in parallel.

> if just one rtems run in two core , how to put code into different core to
> run ? how to realize the parrallelism?
If you select RTEMS with SMP and provide scheduler with two cores, the
scheduler will assign tasks/threads to the cores according to its
scheduler policy/algorithm.

> another question:
>  if i use the smp configuration macro define,am i still need to do the
> mutiprocessor configuration macro define  for  confdef.h ?
With SMP you have to enable SMP when you configure/build RTEMS, and
you need to provide the CPP configuration macros to set up the SMP
system and schedulers.

> ________________________________
> at
> From: Chris Johns
> Date: 2017-12-29 14:21
> To: at; Users
> Subject: Re: smp support
> On 29/12/17 12:16 pm, at wrote:
>> thanks a lot .
>> i have another question , if i use the smp, can i use the interrupt of
>> rtems?
>> which i want to interrupt period of hard real time of 125us.
> Yes you can.
>> i do not know the difference of the bare-metal interrupt and the rtems
>> interrupt
>> . is  the rtems interrupt have  performance loss of the hard real-time?
> The interrupt overhead will have the same overhead each time and its
> deterministic behaviour will depend on the other interrupts in your system
> and
> their priority. The performance will depend on what you need to do in the
> interrupt.
>> what the schedule method of smp use? is it can affect the interrupt
>> performance?
> That depends on your application.
> Chris
> _______________________________________________
> users mailing list
> users at

More information about the users mailing list