Re: [PATCH REPOST] Run IST traps from user mode preemptive on process stack

From: Zdenek Kabelac
Date: Tue Mar 11 2008 - 08:03:56 EST


2008/3/11, Andi Kleen <andi@xxxxxxxxxxxxxx>:
> Run IST traps from user mode preemptive on process stack
>
> [Repost. Please ack or nack. -Andi]
>
> x86-64 has a few exceptions which run on special architecture
> supported IST exception stacks: these are nmi, double fault, stack fault,
> int 3, debug.
>
> Previously they would check for a scheduling event on returning
> if the original CPU state was user mode and then switch to a
> process stack to schedule.
>
> But the actual trap handler would still run on the IST stack
> with preemption disabled.
>

Hi Andi

In my post where I've been showing BUG trace:

http://lkml.org/lkml/2008/3/10/157

I've mentioned my problem with busy looping in Qemu.

I'm not sure whether this is good or bad sign - but with this patch
you have posted,
I do not have to wait in qemu for minutes to get the 'busy-loop' - I
get the exact same loop almost instantly when I start disk read of LV
partition and running my simple module insertion testcase.

> This patch changes these traps instead to always switch
> to the process stack when the trap originated from user mode.
> For kernel traps it keeps running non preemptive on the IST stack
> because that is much safer (e.g. to still get nmi watchdog events
> out even when the process stack is corrupted)
>

So what should I check to get fixed my problem in qemu ?

Zdenek
--
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/