[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20080306190331.GG28006@linux-os.sc.intel.com>
Date: Thu, 6 Mar 2008 11:03:31 -0800
From: Suresh Siddha <suresh.b.siddha@...el.com>
To: Ingo Molnar <mingo@...e.hu>
Cc: Suresh Siddha <suresh.b.siddha@...el.com>, hpa@...or.com,
tglx@...utronix.de, andi@...stfloor.org, hch@...radead.org,
linux-kernel@...r.kernel.org,
Arjan van de Ven <arjan@...ux.intel.com>
Subject: Re: [patch 1/2] x86, fpu: split FPU state from task struct - v4
On Thu, Mar 06, 2008 at 04:18:32PM +0100, Ingo Molnar wrote:
>
> > > Split the FPU save area from the task struct. This allows easy
> > > migration of FPU context, and it's generally cleaner. It also allows
> > > the following two optimizations:
>
> the atomicity bug is still there:
>
> [ 1230.409772] BUG: sleeping function called from invalid context at mm/slab.c:>
> [ 1230.409772] in_atomic():0, irqs_disabled():1
> [ 1230.409772] Pid: 1187, comm: awk Not tainted 2.6.25-rc4-sched-devel.git-x86->[ 1230.409772]
> [ 1230.409772] Call Trace:
> [ 1230.409772] [<ffffffff8022255b>] ? do_page_fault+0x3eb/0xa80
> [ 1230.409772] [<ffffffff8022c68e>] __might_sleep+0xce/0xf0
> [ 1230.409772] [<ffffffff8028c299>] kmem_cache_alloc+0xf9/0x120
> [ 1230.409772] [<ffffffff80214338>] init_fpu+0x98/0x100
> [ 1230.409772] [<ffffffff8020ec10>] math_state_restore+0x20/0x80
> [ 1230.409772] [<ffffffff809b8cc9>] error_exit+0x0/0x60
>
> config and bootlog attached.
My bad. I overlooked the fact that exception handling by the processor
automatically disables interrupts and my tested configs didn't have
CONFIG_DEBUG_SPINLOCK_SLEEP set. My previous fix took care of only 32bit kernels
as they were disabling interrupts explicitly for PREEMPT kernels.
I will post a -v5 fixing this.
> # CONFIG_DEBUG_KERNEL is not set
BTW, In the .config you sent, you don't have CONFIG_DEBUG_SPINLOCK_SLEEP or
CONFIG_DEBUG_KERNEL set. How come you are seeing those backtraces?
thanks,
suresh
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists