On Wed, Jul 06, 2005 at 12:29:12PM +0900, Atsushi Nemoto wrote: > >>>>> On Tue, 5 Jul 2005 21:03:09 +0100, Ralf Baechle <ralf@xxxxxxxxxxxxxx> said: > ralf> If the WCHAN column of ps axl is supposed to be any useful we > ralf> need to unwind the stack until we find the caller of the > ralf> sleeping or scheduling function. Very useful for debugging. > > Yes, but many sleeping/scheduling (such as schedule_timeout(), > __down(), etc.) are compiled without -fno-omit-frame-pointer, so > you can not find the caller of such functions anyway. Without additional information a framepointer isn't terribly useful on MIPS. Unfortunately it's stored at a non-constant offset in a function's stackframe. > And some sleeping/scheduling functions which are compiled with > -fno-omit-frame-pointer are static or deprecated (sleep_on(), etc.) > > You can find the caller of "schedule()" even with simple > thread_saved_pc(). I think it is enough so I do not think it is worth > to fix (and maintain) current minfo[]. The alternative would be to finally bite the bullet and add a wchan field to thread_struct and initialize it in all the sleeping functions. The IA-64 people have something like a DWARF-based frame unwinder but that just seems to heavy. Ralf