Reynolds, Terry (Contractor-SIMTECH) wrote:
Hello,
I'll see if I can figure out a way to get a complete listing off my G5. It isn't connected to the network, and I've never actually produced a readable cd from it. Mine is failing while loading the rtai_native module. It seems Ok right up through the end of the fusion_skin_init (I.E. the end of module_init). After that the kernel enters a loop apparently either trying to start a task, or responding to some periodic task that was started by the module. If I run the latency test, this loop terminates after several seconds, and all the rtai modules get un-loaded. If I load the modules
via insmod, the loop goes on forever.
I haven't tried the klatency test. Cruncher crashed my G5 and corrupted the hard drive. Luckily, a manual fsck repaired it. I haven't tried it again. Does anyone have this stuff actually working on a PPC? If so, could you share any helpful ideas as to what is suppose to be happening after the rtai_native module is loaded? I'm still trying to figure what
is causing the kernel to be receive these events.


So far, RTAI/fusion (using Adeos patch 2.6.10rc3-r6c14 and above) is known to work on iBook2, Sandpoint and IceCube boards. Btw, RTAI lists
may be more appropriate for posting your latest questions.


Thanks,
Terry.

________________________________

From: Heikki Lindholm [mailto:[EMAIL PROTECTED]
Sent: Thu 3/17/2005 11:34 PM
To: Reynolds, Terry (Contractor-SIMTECH)
Subject: Re: [Adeos-main] RE: ppc64 port questions



Hi,
I'm trying to analyze a (probable) stack overflow problem with the ppc32
version of adeos+fusion - it too dies at the latency test. Could you
send me your heap of printk output (syslog, dmesg), so that I can get
the general idea of the call chain - maybe these are related. Btw. How
far do you get with klatency on the ppc64?

Regards,
  Heikki Lindholm

Reynolds, Terry (Contractor-SIMTECH) kirjoitti:

Hi All,


I have more info, but still no idea as to where things are broken.

In trying to run the RTAI latency test, the program ends up in a loop 
processing schedule_tail
& schedule_head events until the test gives up.  Both events are "caught" in the
rtai/nucleus/shadow.c set of event handlers.  The _head event is caught from 
the handler
called in the _adeos_handle_events routine.  The _tail event is caught from the
_adeos_suspend_domain functions' event handler block.  The first is dispatched 
from
the root domain, whereas the second is from the RTAI domain.

The schedule_tail event happens first.

After several seconds of this loop, the latency test fails with a "failed to create display task, code -38". The rt_task_create function wasn't reached (the printk statement which is the first line doesn't get printed),
so this must be comming from one of the module_init functions.

The shadow.c routines both report handling the events as the root domain.

At the moment I'm stuck trying to figure out which routine is trying to spawn a 
task, and why it's failing.

ANY help would be greatly appreciated!

TIA.

Terry

________________________________

From: [EMAIL PROTECTED] on behalf of Reynolds, Terry (Contractor-SIMTECH)
Sent: Tue 3/15/2005 10:24 AM
To: adeos
Subject: [Adeos-main] ppc64 port questions



Hi All,

I apologize for the long posting, but wanted to give sufficient detail for 
folks to see what's going on.

I have made a good bit of progress on the ppc64 port.  I'm trying to get the 
RTAI example test latency to work.
Things fail in a way that looks like I've missed a function somewhere.   I've 
added quite a few printk statements
in trying to track down the problem.

What I'm seeing is:

Root domain registered.
Pipeline started.

Start latency test:

RTAI[hal] domain registered:
  switch from root to RTAI[hal].
  calls suspend.
  switches back to root.

Domain IShield registered.
  root switches to IShield
 IShield suspends & switches back to root.

RTAI[nucleus] RTAI/fusion v0.6.9 started
 all initialization routines seem to run OK.
__fusion_skin_init processes all the way through and exits without error.

THEN

In Root:
  sched.c's need_resched: calls -
  adeos_schedule_tail, which calls __adeos_handle_event with  
ADEOS_SCHEDULE_TAIL

  __adeos_handle_event does a switch_to RTAI[hal] domain.
  it resumes in suspend_domain, from which it returns to rthal_domain_entry.
  At that point it is in a loop constantly calling suspend_domain.
  So, RTAI[hal] instantly suspends again, switching back to root.
  Root ends up back in need_resced, and this process repeats several hundred 
times,
  until the latency test gives up and exits with a "failed to create display task, 
code -38"

IShield is unregistered.
RTAI/fusion stops.
RTAI is unregistered.
RTAI[hal] is unloaded.

At least things seem to exit gracefully!

So, my questions are:

 Did any of that description look totally wrong?

  What is suppose to cause RTAI[hal] to break out of the suspend_domain loop,
 and process the event being passed in from root via the schedule_tail?
 Should it be suspended at a different place?

I'm not sure if this is an Adeos or an RTAI problem at this point.


TIA!

Terry.




_______________________________________________
Adeos-main mailing list
[email protected]
https://mail.gna.org/listinfo/adeos-main



_______________________________________________
Adeos-main mailing list
[email protected]
https://mail.gna.org/listinfo/adeos-main




_______________________________________________
Adeos-main mailing list
[email protected]
https://mail.gna.org/listinfo/adeos-main


--

Philippe.

Reply via email to