[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <531DEC40.4060801@zytor.com>
Date: Mon, 10 Mar 2014 09:45:52 -0700
From: "H. Peter Anvin" <hpa@...or.com>
To: David Vrabel <david.vrabel@...rix.com>,
linux-kernel@...r.kernel.org
CC: x86@...r.kernel.org, Thomas Gleixner <tglx@...utronix.de>,
Ingo Molnar <mingo@...hat.com>, xen-devel@...ts.xen.org
Subject: Re: [PATCHv1] x86: don't schedule when handling #NM exception
On 03/10/2014 09:17 AM, David Vrabel wrote:
> diff --git a/arch/x86/kernel/traps.c b/arch/x86/kernel/traps.c
> index 57409f6..c8078d2 100644
> --- a/arch/x86/kernel/traps.c
> +++ b/arch/x86/kernel/traps.c
> @@ -624,18 +624,13 @@ void math_state_restore(void)
> struct task_struct *tsk = current;
>
> if (!tsk_used_math(tsk)) {
> - local_irq_enable();
> - /*
> - * does a slab alloc which can sleep
> - */
> - if (init_fpu(tsk)) {
> + if (init_fpu(tsk, GFP_ATOMIC)) {
> /*
> * ran out of memory!
> */
> - do_group_exit(SIGKILL);
> + force_sig(SIGKILL, tsk);
> return;
> }
> - local_irq_disable();
> }
>
OK, answering my own question... you're randomly SIGKILLing processes
because the kernel doesn't have enough memory on hand.
In other words, because Xen is broken you want to break the rest of the
universe.
This is NAKed so hard it isn't even funny.
-hpa
--
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