Re: [patch 1/2] x86, fpu: split FPU state from task struct - v2

From: Ingo Molnar
Date: Mon Mar 03 2008 - 04:14:39 EST



* Ingo Molnar <mingo@xxxxxxx> wrote:

> > 2) allocate the right size for the actual cpu rather than 512 bytes
> > always. Patches enabling xsave/xrstor support (coming shortly) will
> > take advantage of this.
>
> thanks, i've applied your two patches to x86.git#testing.

hm, qa immediately got problems with it:

[ 20.054821] BUG: sleeping function called from invalid context at mm/slab.c:3055
[ 20.057253] in_atomic():0, irqs_disabled():1
[ 20.057253] no locks held by awk/1294.
[ 20.057253] irq event stamp: 5745
[ 20.057253] hardirqs last enabled at (5745): [<ffffffff8079aaf0>] trace_hardirqs_on_thunk+0x35/0x3a
[ 20.057253] hardirqs last disabled at (5744): [<ffffffff8079ab2a>] trace_hardirqs_off_thunk+0x35/0x37
[ 20.057253] softirqs last enabled at (0): [<ffffffff80237800>] copy_process+0x310/0x16b0
[ 20.057253] softirqs last disabled at (0): [<0000000000000000>] 0x0
[ 20.057253] Pid: 1294, comm: awk Not tainted 2.6.25-rc3 #2
[ 20.057253]
[ 20.057253] Call Trace:
[ 20.057253] [<ffffffff8025bfb0>] ? print_irqtrace_events+0x110/0x120
[ 20.057253] [<ffffffff80230de5>] __might_sleep+0xe5/0x110
[ 20.057253] [<ffffffff802a9c53>] kmem_cache_alloc+0xe3/0x100
[ 20.057253] [<ffffffff80213f84>] init_fpu+0x94/0xf0
[ 20.057253] [<ffffffff8020e6d8>] math_state_restore+0x58/0x70
[ 20.057253] [<ffffffff8079bb39>] error_exit+0x0/0xb8
[ 20.057253]
[ 35.722463] device: 'vcs1': device_add

that's a non-atomic alloc in an atomic (irqs off) section ...

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