lkml.org 
[lkml]   [2000]   [Oct]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: (reiserfs hang at boot) where is the kernel debugger?
    On Wed, 4 Oct 2000, Keith Owens wrote:
    > Rik van Riel <riel@conectiva.com.br> wrote:

    > >Sysrq-T is broken on x86 ;((((((((
    >
    > show_task() calls thread_saved_pc() which is giving bad results.
    > Getting the correct PC for blocked threads is easy,
    >
    > Index: 0-test9-pre9.3/include/asm-i386/processor.h
    > --- 0-test9-pre9.3/include/asm-i386/processor.h Tue, 08 Aug 2000 16:14:08 +1000 kaos (linux-2.4/P/18_processor. 1.1.1.5 644)
    > +++ 0-test9-pre9.3(w)/include/asm-i386/processor.h Wed, 04 Oct 2000 01:48:32 +1100 kaos (linux-2.4/P/18_processor. 1.1.1.5 644)
    > @@ -411,7 +411,7 @@ extern void forget_segments(void);
    > * Return saved PC of a blocked thread.
    > */
    > extern inline unsigned long thread_saved_pc(struct thread_struct *t)
    > {
    > - return ((unsigned long *)t->esp)[3];
    > + return (t->eip);
    > }
    >
    > But it does not give you much. Thread esp and eip are only
    > saved during switch_to(), at which point eip always points to
    > schedule+0x42c.

    Yup ;)

    So this function will need to look at the call trace and
    give the function that called schedule() ...

    regards,

    Rik
    --
    "What you're running that piece of shit Gnome?!?!"
    -- Miguel de Icaza, UKUUG 2000

    http://www.conectiva.com/ http://www.surriel.com/

    -
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    Please read the FAQ at http://www.tux.org/lkml/

    \
     
     \ /
      Last update: 2005-03-22 12:39    [W:0.045 / U:0.056 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site