On Mon, Feb 23, 2015 at 1:21 PM, Rik van Riel <r...@redhat.com> wrote: > > On 02/23/2015 04:17 PM, Maciej W. Rozycki wrote: >>> >>> It seems highly unlikely to me that a slow FPU instruction can >>> retire *after* a subsequent fxsave, which would need to happen >>> for this to work. >> >> I meant something else -- a slow FPU instruction can retire after a >> task has been switched where the FP context has been left intact, >> i.e. in the lazy FP context switching case, where only the MMU >> context and GPRs have been replaced. > > I don't think that's true, because changing the MMU context and GPRs > also includes changing the instruction pointer, and changing over the > execution to the new task.
We have one traditional special case, which actually did something like Maciej's nightmare scenario: the completely broken "FPU errors over irq13" IBM PC/AT FPU linkage. But since we don't actually support old i386 machines any more, we don't really need to care. The only way you can get into that situation is with an external i387. I don't think we need to worry about it. But with the old horrid irq13 error handling, you literally could get into a situation that you got an error "exception" (irq) from the previous state, *after* you had already switched to the new one. We had some code to mitigate the problem, but as mentioned, I don't think it's an issue any more. 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/