Messages in this thread | | | Date | Fri, 6 Mar 2015 17:31:06 +0100 | From | Oleg Nesterov <> | Subject | Re: [PATCH 1/1] x86/fpu: math_state_restore() should not blindly disable irqs |
| |
On 03/06, David Vrabel wrote: > > On 06/03/15 15:36, Oleg Nesterov wrote: > > > > This needs more discussion, but in short so far I think that fpu_alloc() > > from #NM exception is fine if user_mode(regs) == T. > > I think a memory allocation here, where the only behaviour on a failure > is to kill the task, is (and has always been) a crazy idea.
Well, I do not agree. But lets discuss this later. This code should be rewritten in any case. It has more problems.
> Additionally, in a Xen PV guest the #NM handler is called with TS > already cleared by the hypervisor so the handler must not enable > interrupts (and thus potentially schedule another task) until after the > current task's fpu state has been restored. If a task was scheduled > before restoring the FPU state, TS would be clear and that task will use > fpu state from a previous task.
I can be easily wrong (especially because I know nothing about Xen ;), but I do not think this is true.
Yes sure, we need to avoid preemption, but we need this in any case, even without Xen.
Again, lets discuss this a bit later?
Oleg.
| |