diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-02-21 19:25:45 +0100 |
---|---|---|
committer | H. Peter Anvin <hpa@linux.intel.com> | 2012-02-21 23:12:46 +0100 |
commit | 8546c008924d5fd1724fa698eaa92b414bafd50d (patch) | |
tree | fe2d3f50b350c884201c57ca6c331dd867c5d1e8 /arch/x86/kernel/traps.c | |
parent | i387: export 'fpu_owner_task' per-cpu variable (diff) | |
download | linux-8546c008924d5fd1724fa698eaa92b414bafd50d.tar.xz linux-8546c008924d5fd1724fa698eaa92b414bafd50d.zip |
i387: Uninline the generic FP helpers that we expose to kernel modules
Instead of exporting the very low-level internals of the FPU state
save/restore code (ie things like 'fpu_owner_task'), we should export
the higher-level interfaces.
Inlining these things is pointless anyway: sure, sometimes the end
result is small, but while 'stts()' can result in just three x86
instructions, those are not cheap instructions (writing %cr0 is a
serializing instruction and a very slow one at that).
So the overhead of a function call is not noticeable, and we really
don't want random modules mucking about with our internal state save
logic anyway.
So this unexports 'fpu_owner_task', and instead uninlines and exports
the actual functions that modules can use: fpu_kernel_begin/end() and
unlazy_fpu().
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Link: http://lkml.kernel.org/r/alpine.LFD.2.02.1202211339590.5354@i5.linux-foundation.org
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
Diffstat (limited to 'arch/x86/kernel/traps.c')
0 files changed, 0 insertions, 0 deletions