Messages in this thread | | | Date | Mon, 16 Nov 2015 21:58:49 +0100 | Subject | Re: irq_fpu_usable() is false in ndo_start_xmit() for UDP packets | From | "Jason A. Donenfeld" <> |
| |
Hi David,
On Mon, Nov 16, 2015 at 9:32 PM, David Miller <davem@davemloft.net> wrote: > Network device driver transmit executes with software interrupts > disabled. > > Therefore on x86, you cannot use the FPU.
That is extremely problematic for me. Is there a way to make this not so? A driver flag that would allow this?
Also - how come it irq_fpu_usable() is true when using TCP but not when using UDP?
Further, irq_fpu_usable() doesn't only check for interrupts. There are two other conditions that allow the FPU's usage, from arch/x86/kernel/fpu/core.c:
bool irq_fpu_usable(void) { return !in_interrupt() || interrupted_user_mode() || interrupted_kernel_fpu_idle(); }
| |