i387: fix up some fpu_counter confusion
authorLinus Torvalds <torvalds@linux-foundation.org>
Mon, 20 Feb 2012 18:24:09 +0000 (10:24 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Mon, 20 Feb 2012 18:24:09 +0000 (10:24 -0800)
commitcea20ca3f3181fc36788a15bc65d1062b96a0a6c
tree86c646c0d228d1fe265536b81d86af406ff92c8e
parentb01543dfe67bb1d191998e90d20534dc354de059
i387: fix up some fpu_counter confusion

This makes sure we clear the FPU usage counter for newly created tasks,
just so that we start off in a known state (for example, don't try to
preload the FPU state on the first task switch etc).

It also fixes a thinko in when we increment the fpu_counter at task
switch time, introduced by commit 34ddc81a230b ("i387: re-introduce FPU
state preloading at context switch time").  We should increment the
*new* task fpu_counter, not the old task, and only if we decide to use
that state (whether lazily or preloaded).

Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
arch/x86/include/asm/i387.h
arch/x86/kernel/process_32.c
arch/x86/kernel/process_64.c