multiprocessor boot

Joel Sherrill joel.sherrill at OARcorp.com
Mon Dec 2 17:08:44 UTC 2002



Francesco Poletti wrote:
> 
> Tanks to Joel for the first answer, I really appreciate the helps which
> you give me!
> Another question which I have is, How does RTEMS require to be booted on
> an multiprocessor system?

Each board/CPU has been booted independently on the systems I have used.

> Are the boot on every processor indipendent?

Could be.  I worked on one system which used the same image on every
processor
and they read the CPU number from some hardware location and reacted 
accordingly.  This worked out well.

> How does the global object initialization is made?

It is magic. :)  Each node owns its own copy (weak spot in the design I 
suppose) and when objects are created/deleted, the information is
broadcast.
With the shared memory driver, the boards synchronize with one another 
during initialization and are assumed to stay online.  There are
no provisions for getting the gobject table back right if a node
comes to the party late.  This shouldn't be terribly difficult to add.

So if you miss the global object's creation, you lose but if you miss
its deletion, the name -> ident will work but all operations will
fail as the object doesn't exist on the remote node.

--joel

> Thanks to all Francesco
> >
> >
> > Francesco Poletti wrote:
> > >
> > > Hy, I'm reading the multiprocessor's doc and I have these two simple
> > > question:
> > > -When a task use a global object which don't reside on its
> processor,
> > > RTEMS "calls" the MPCI layer for have the object from another
> processor.
> > > Those passages are used every time that task make operation over the
> > > global object?
> >
> > When the object resides on a remote node, yes.  If the object is
> > global and a task residing on the same node uses that object, then
> > the object is considered local and goes through the normal path.
> >
> > > -Is possible, for a task,  sending an "event" or a signal to another
> > > task which is global but don't reside on same processor? If yes in
> this
> > > case an RQ (which need answer) or an RP wich don't block the first
> task?
> >
> > Both those are RQ type since the caller needs a status on the
> event_send
> > or signal_send service call.
> >
> > > Thanks to all Francesco
> >
> > --
> > Joel Sherrill, Ph.D.             Director of Research & Development
> > joel at OARcorp.com                 On-Line Applications Research
> > Ask me about RTEMS: a free RTOS  Huntsville AL 35805
> > Support Available                (256) 722-9985
> >

-- 
Joel Sherrill, Ph.D.             Director of Research & Development
joel at OARcorp.com                 On-Line Applications Research
Ask me about RTEMS: a free RTOS  Huntsville AL 35805
Support Available                (256) 722-9985



More information about the users mailing list