Hi Jason, On Mon, Nov 16, 2015, at 21:58, Jason A. Donenfeld wrote: > Hi David, > > On Mon, Nov 16, 2015 at 9:32 PM, David Miller <da...@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(); > }
Use the irqsoff tracer to find the problematic functions which disable interrupts and try to work around it in case of UDP. This could benefit the whole stack. Bye, Hannes -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html