On Fri, Mar 13, 2015 at 03:55:42PM +0100, Oleg Nesterov wrote: > But please look at drop_init_fpu(). If eagerfpu == F it calls drop_fpu() and > this is what we need. flush_thread() already has the "if (!use_eager_fpu())", > we can shift drop_fpu() there. > > Otherwise, if eagerfpu == T, drop_init_fpu() does restore_init_xstate() and > this just burns CPU. Until flush_thread user_has_fpu/used_math this state > restore_init_xstate() is pointless, this state will be lost after preemption.
Yeah, I was wondering why that's there. One example where drop_init_fpu() seems to make sense is __kernel_fpu_end(): kernel is done with FPU and current was using the FPU prior so let's restore it for the eagerfpu case. Thanks. -- Regards/Gruss, Boris. ECO tip #101: Trim your mails when you reply. -- -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/