Fwd:Re: found MPCI Layer problem?

Joel Sherrill joel.sherrill at OARcorp.com
Fri Jan 10 14:21:02 UTC 2003



Francesco Poletti wrote:
> 
> Sorry for the late answer but time zone don't help us...
> I have some problems to apply the patch mp.diff which you give me, I'm using the
>  snapshot rtems-ss-20021118. In the file libcsupport/include/rtems/libio.h I'm
> not able to found the point to apply changes.

Sorry for picking up that libio.h patch.  It doesn't address your
problem
but is a fix for a naming conflict between RTEMS and Linux libc on the 
Linux simulator port.

> Thanks Francesco
> I have seen that in the file
> Francesco Poletti wrote:
> >
> > Because, I don't know why but the function _Objects_Initialize_information
> > is never called with parameter supports_global with value true.
> 
> Found it.  Global editting gone crazy.  Try the attached patch
> and let me know if it helps.
> 
> I have run the mptests on the Linux simulator port and they pass there.
> 
> --joel
> 
> > Francesco Poletti wrote:
> > >
> > > I think that I have found my trouble with MPCI layer, but now I'm not able to
> > > resolve it...
> > > The _RTEMS_tasks_Information structure,which seem to be instanziated in the file
> > > cpukit/rtems/include/rtems/rtems/tasks.h, isn't inizialized. In particoular the
> > > camp _RTEMS_tasks_Information->global_table seem to be null.Is needed a cast or
> > > I must inizialite this camp, if yes how and where?
> >
> > Why isn't it being initialized around line 166 in
> > score/src/objectinitializeinformation.c
> > (_Objects_Initialize_information)?
> > Did you configure with multiprocessing enabled?
> >
> > --joel
> >
> > > Thanks to all Francesco
> > >
> > > Francesco Poletti wrote:
> > > >
> > > > Hy,
> > > > I have seen to the function _RTEMS_tasks_MP_Process_packet in the file
> > > > cpukit/rtems/src/taskmp.c. as Joel suggested: all seem works well...
> > > > I think that the problem may be in the formulation of the packet or in the
> > > > object table. If anyone can help me to found the formulation of the packet and
> > > > the object table structure I will be very happy! :-)
> > >
> > > The global object table structure is defined in
> > > score/include/rtems/score/objectmp.h.
> > > The "global_table" entry in the Objects_Information control block is a
> > > pointer to an array of them for each object type.  So something like
> > > this
> > > in gdb
> > >
> > > p _RTEMS_tasks_Information.global_table[NODE]
> > >
> > > where NODE is the remote node number.
> > >
> > > You should be able to walk through _Objects_MP_Open to see it get added
> > > and _Objects_MP_Global_name_search to watch the search.
> > >
> > > The packet in question should be a SHMDR "envelope" or "header" followed
> > > by a packet of the structure RTEMS_tasks_MP_Packet.
> > >
> > > One distinct possibility is that when I reworked the object name stuff
> > > to better support variable length string names I messed up the MP
> > > portion
> > > of this.  If it doesn't look right when it gets to those routines above
> > > ping me and I will rerun the mp test suite.  I thought it had been run
> > > recently.  But for sure, you are at the point where it would be helpful
> > > to feel good. :)
> > >
> > > It might even be worth your time to get the powerpc/psim environment
> > > running to see how another working MP target behaves.
> > >
> > > > Tanks to all Francesco.
> > > > Francesco Poletti wrote:
> > > > >
> > > > > Hy, I have booted rtems on my two arm simulator, for implementing MPCI Layer
> > > > > I'm using the shared memory, like this I use the driver in the shmdr
> > > > > dyrectory.
> > > > > I'm using a little test examples in which every node generate a global task
> > > > > and after call:
> > > > > rtems_task_ident( Task_name[ remote_node ], RTEMS_SEARCH_ALL_NODES,
> > > > > &test_tid);
> > > > > That function returned invalid object, I have looked into the MPCI layer
> using
> > > > > the debugger and I have seen that when the node generate the global task
> > > > > there is a right communication with the other node, but after the
> > > > > rtems_task_ident there isn't communication beetwen the node...
> > > > > Where the node put the Object table? Where can understand how this table
> > > > > function?
> > > >
> > > > For each class of object, there is local and global object id
> > > > information.
> > > > It is maintained on each node.  The creation of that task should have
> > > > resulted
> > > > in an entry being added to the global object table for classic tasks on
> > > > the
> > > > other node.
> > > >
> > > > See if you get to the RTEMS_TASKS_MP_ANNOUNCE_CREATE case lable in the
> > > > function _RTEMS_tasks_MP_Process_packet in the file
> > > > cpukit/rtems/src/taskmp.c.
> > > >
> > > > > 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
> >
> > --
> > 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

-- 
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