Multiprocessor problems

Joel Sherrill joel.sherrill at OARcorp.com
Fri May 22 15:29:27 UTC 2009


Roger Dahlkvist wrote:
> Hi,
>
> I'm using a timer ISR polling method checking for new messages from other nodes. Unfortunately the system crashes as soon as rtems_multiprocessing_announce is called.
>   
There are no interrupts enabled until the initialization task is switched
in.

I have wondered if it wouldn't make sense to have the MP initialization
sycnhronization done either explicitly by the application (like 
initialization
of TCP/IP) or implicitly by the init thread like C++ global constructors.

You can try moving this code from exinit.c to threadhandler.c where and
protect it somehow from being executed more than once.

  #if defined(RTEMS_MULTIPROCESSING)
    if ( _System_state_Is_multiprocessing ) {
      _MPCI_Initialization();
      _MPCI_Internal_packets_Send_process_packet(
        MPCI_PACKETS_SYSTEM_VERIFY
      );
    }
  #endif

Then you will at least be able to get your interrupts and call MP announce
to complete system initialization.
> However, rtems_multiprocessing_announce works just fine if it's called just after the initialization phase, before the initinitialization task is started. That's really strange.
>
> So for example, if I make one node get initialized and started faster than the other node (using less drivers etc), I'll be able to create global objects. and as long as the other node has not started the initialization task, the message is received and the global objects table is updated, so it can be identified later on. But I can't use them since furter calls to rtems_multiprocessing_announce will fail.
>
> At this point I feel like I have tested just about everything, with no luck. It's urgent that I get MP to work properly. 
> I'm using Nios II processors and I have defined my own MPCI routines. I'm confident that they work properly and I have verified that the system crashes before they are even invoked.
>
> Is there anyone with MP experience who might have a clue of what's causing my problems? Any help is MUCH appreciated.
>
> //Roger
>
> _______________________________________________
> rtems-users mailing list
> rtems-users at rtems.org
> http://www.rtems.org/mailman/listinfo/rtems-users
>   


-- 
Joel Sherrill, Ph.D.             Director of Research & Development
joel.sherrill 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