Re: CONFIG_PREEMPT causes corruption of application's FPU stack

From: Andi Kleen
Date: Sun Jun 01 2008 - 07:41:17 EST


j.mell@xxxxxxxxxxx writes:

> or it is restored more than
> once. Please keep in mind, that I am always running two Einstein processes
> simultaneously on my two cores!
> I am willing to do further testing of this problem if someone can give me a
> hint how to continue.

My bet would have been actually on aa283f49276e7d840a40fb01eee6de97eaa7e012
because it does some nasty things (enable interrupts in the middle
of __switch_to).

I looked through the old patchkit and couldn't find any specific
PREEMPT problems. All code it changes should run with preempt_off

You could verify with sticking WARN_ON_ONCE(preemptible()) into
all the places acc207616a91a413a50fdd8847a747c4a7324167
changes (__unlazy_fpu, math_state_restore) and see if that triggers
anywhere.

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