Re: [patch 13/26] Xen-paravirt_ops: Consistently wrap paravirt ops callsites to make them patchable

Andi Kleen
2007-03-20T18:22:31Z

On Tue, Mar 20, 2007 at 10:27:00AM -0700, Linus Torvalds wrote:
>
>
> On Tue, 20 Mar 2007, Andi Kleen wrote:
> >
> > The code never did that. In fact many of the problems we had initially
> > especially came out of that -- the fallback code that would handle
> > this case wasn't fully correct.
>
> I don't keep my emails any more, but you *never* fixed the problems in
> arch/*/kernel/traps.c.

I fixed that one after you dropped it (hmm, double checking: or at least
I thought I had fixed it, but don't see the code right now; will redo then)
Basically it was just a one liner anyways - always check against all the
stacks that are there.

> Yes, the kernel/unwind.c issues generally got fixed. The infinite loops in
> the *callers* never did.

There was later a weaker form that should have caught most loops, but admittedly
it wasn't 100% bullet-proof with exception stacks.

>
> > Also frankly often your analysis about what went wrong was just
> > incorrect.
>
> Still in denial, I see.
>
> Do you still claim that "the fallback position always did the right
> thing"

No initially it was buggy and that caused several of the crashes.

> Despite the fact that the unwinder had sometimes *corrupted* the
> incoming information so much that the fallback position was the one that
> oopsed? And no, you didn't fix that.

No, it oopsed because it was broken by itself.
Anyways that got fixed quickly.

>
> And no, IT DID NOT use probe_kernel_address like you still claim.

There definitely was a patch that made it use it. You might have
not merged it though.

> Anyway, you work for Suse, I don't care what you do to the Suse kernel.
> Maybe it will get stable some day. Somehow, I doubt it.

So what is your proposed alternative to handle long backtraces?
You didn't answer that question. Please do, I'm curious about your thoughts
in this area.

-Andi