Re: i386 doublefault handler is broken with CONFIG_DEBUG_SPINLOCK

2007-08-10 Thread Chuck Ebbert
On 08/10/2007 04:23 AM, Andi Kleen wrote: > > This is the patch i came up with in the end. Passes testing. > I also fixed some more minor things. Looks good to me. Missed adding KERN_EMERG for the printk() of the TSS address, though. > > Fix double fault handler > > From: Chuck Ebbert <[EMAIL

Re: i386 doublefault handler is broken with CONFIG_DEBUG_SPINLOCK

2007-08-10 Thread Andi Kleen
On Thu, Aug 09, 2007 at 07:35:39PM -0400, Chuck Ebbert wrote: > On 08/09/2007 07:16 PM, Andi Kleen wrote: > > > > I tested it. Even on a box without spin lock debugging I get a hard > > hang after > > > > double fault, gdt at c1404000 [255 bytes] > > > > even though it should have printed the re

Re: i386 doublefault handler is broken with CONFIG_DEBUG_SPINLOCK

2007-08-09 Thread Chuck Ebbert
On 08/09/2007 07:16 PM, Andi Kleen wrote: > > I tested it. Even on a box without spin lock debugging I get a hard > hang after > > double fault, gdt at c1404000 [255 bytes] > > even though it should have printed the registers. > So it looks like there is more broken in the DF handler than just >

Re: i386 doublefault handler is broken with CONFIG_DEBUG_SPINLOCK

2007-08-09 Thread Andi Kleen
On Thu, Aug 09, 2007 at 02:40:27PM -0400, Chuck Ebbert wrote: > On 08/09/2007 01:49 PM, Andi Kleen wrote: > > Chuck Ebbert <[EMAIL PROTECTED]> writes: > >> Initializing FS in the doublefault_tss should fix it. > >> > >> Signed-off-by: Chuck Ebbert <[EMAIL PROTECTED]> > >> > >> --- > >> > >> NOTE:

Re: i386 doublefault handler is broken with CONFIG_DEBUG_SPINLOCK

2007-08-09 Thread Jeremy Fitzhardinge
Chuck Ebbert wrote: > On 08/09/2007 01:49 PM, Andi Kleen wrote: > >> Chuck Ebbert <[EMAIL PROTECTED]> writes: >> >>> Initializing FS in the doublefault_tss should fix it. >>> >>> Signed-off-by: Chuck Ebbert <[EMAIL PROTECTED]> >>> >>> --- >>> >>> NOTE: not even compile tested. >>> >

Re: i386 doublefault handler is broken with CONFIG_DEBUG_SPINLOCK

2007-08-09 Thread Chuck Ebbert
On 08/09/2007 01:49 PM, Andi Kleen wrote: > Chuck Ebbert <[EMAIL PROTECTED]> writes: >> Initializing FS in the doublefault_tss should fix it. >> >> Signed-off-by: Chuck Ebbert <[EMAIL PROTECTED]> >> >> --- >> >> NOTE: not even compile tested. > > Can you please test it? > It compiles but I can'

Re: i386 doublefault handler is broken with CONFIG_DEBUG_SPINLOCK

2007-08-09 Thread Andi Kleen
Chuck Ebbert <[EMAIL PROTECTED]> writes: > > Initializing FS in the doublefault_tss should fix it. > > Signed-off-by: Chuck Ebbert <[EMAIL PROTECTED]> > > --- > > NOTE: not even compile tested. Can you please test it? -Andi - To unsubscribe from this list: send the line "unsubscribe linux-ke

i386 doublefault handler is broken with CONFIG_DEBUG_SPINLOCK

2007-08-09 Thread Chuck Ebbert
The new percpu code has apparently broken the doublefault handler when CONFIG_DEBUG_SPINLOCK is set. Doublefault is handled by a hardware task, making the check SPIN_BUG_ON(lock->owner == current, lock, "recursion"); fault because it uses the FS register to access the percpu data for curr