On Mon, Aug 25, 2014 at 10:09 AM, Oleg Nesterov <o...@redhat.com> wrote: > > I'd like to change it only because this code is the main source of the > nasty special case, used_math() and/or __thread_has_fpu(current) can be > false even if use_eager_fpu().
Well, if you think it is correct (apart from missing preemption), then I disagree *violently* with your "clean it up by restoring things twice" model. The signal handling overhead of floating point restore is not small, and it's not theoretical. It's actually one of the main things that make signal handling slow. I haven't tested with the new optimized fxrstor, but it was one of the main annoyances with the lmbench numbers back when we used to track those closely (and which were one of the only tests to check signal handling performance). Of course, these days people try to avoid signals (because they are slow), but still.. Linus -- 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/