Re: kgdb support in vanilla 2.6.2

From: Andi Kleen
Date: Thu Feb 05 2004 - 21:27:51 EST


On Thu, 5 Feb 2004 23:20:04 +0530
"Amit S. Kale" <amitkale@xxxxxxxxxxxxx> wrote:

> On Thursday 05 Feb 2004 8:41 am, Andi Kleen wrote:
> > Andrew Morton <akpm@xxxxxxxx> writes:
> > > need to take a look at such things and really convice ourselves that
> > > they're worthwhile. Personally, I'd only be interested in the basic
> > > stub.
> >
> > What I found always extremly ugly in the i386 stub was that it uses
> > magic globals to talk to the page fault handler. For the x86-64
> > version I replaced that by just using __get/__put_user in the memory
> > accesses, which is much cleaner. I would suggest doing that for i386
> > too.
>
> May be I am missing something obvious. When debugging a page fault handler if
> kgdb accesses an swapped-out user page doesn't it deadlock when trying to
> hold mm semaphore?

Modern i386 kernels don't grab the mm semaphore when the access is >= TASK_SIZE
and the access came from kernel space (actually I see x86-64 still does, but that's
a bug, will fix). You could only see a deadlock when using user addresses
and you already hold the mm semaphore for writing (normal read lock is ok).
Just don't do that.


> George has coded cfi directives i386 too. He can use them to backtrace past
> irqs stack.

Problem is that he did it without binutils support. I don't think that's a good
idea because it makes the code basically unmaintainable for normal souls
(it's like writing assembly code directly in hex)

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