x86: fix taking DNA during 64bit sigreturn
authorSiddha, Suresh B <suresh.b.siddha@intel.com>
Sun, 11 Nov 2007 19:27:59 +0000 (11:27 -0800)
committerLinus Torvalds <torvalds@woody.linux-foundation.org>
Mon, 12 Nov 2007 19:09:33 +0000 (11:09 -0800)
commit92d140e21f1ce8cf99320afbbcad73879128e6dc
tree54a67ee106da78b2a5f265e8e12fc84b92e763d6
parentefe44183f6bab5b8acb6a6182d95274978c8abb1
x86: fix taking DNA during 64bit sigreturn

restore sigcontext is taking a DNA exception while restoring FP context
from the user stack, during the sigreturn.  Appended patch fixes it by
doing clts() if the app doesn't touch FP during the signal handler
execution.  This will stop generating a DNA, during the fxrstor in the
sigreturn.

This improves 64-bit lat_sig numbers by ~30% on my core2 platform.

Signed-off-by: Suresh Siddha <suresh.b.siddha@intel.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
arch/x86/kernel/i387_64.c
include/asm-x86/i387_64.h