linux-mips
[Top] [All Lists]

Re: preempt_schedule_irq missing from mfinfo[]?

To: ralf@linux-mips.org
Subject: Re: preempt_schedule_irq missing from mfinfo[]?
From: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Date: Tue, 12 Jul 2005 17:28:42 +0900 (JST)
Cc: djohnson+linuxmips@sw.starentnetworks.com, linux-mips@linux-mips.org
In-reply-to: <20050706090138.GC3226@linux-mips.org>
Original-recipient: rfc822;linux-mips@linux-mips.org
References: <20050705200308.GE18772@linux-mips.org> <20050706.122912.71087098.nemoto@toshiba-tops.co.jp> <20050706090138.GC3226@linux-mips.org>
Sender: linux-mips-bounce@linux-mips.org
>>>>> On Wed, 6 Jul 2005 10:01:38 +0100, Ralf Baechle <ralf@linux-mips.org> 
>>>>> said:
>> 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[].

ralf> The alternative would be to finally bite the bullet and add a
ralf> wchan field to thread_struct and initialize it in all the
ralf> sleeping functions.

ralf> The IA-64 people have something like a DWARF-based frame
ralf> unwinder but that just seems to heavy.

Another alternative would be:

1.  Using KALLSYMS feature in kernel to obtain an address in
__sched/__lock function.  This might solve static function (and
maintainance) issue.

2.  Unwinding stack based on "addiu sp,sp,-NN" instruction in prologue
of the function.  This might solve omit-frame-pointer issue.

Anybody try? :-)

---
Atsushi Nemoto

<Prev in Thread] Current Thread [Next in Thread>