diff options
author | Jeremy Fitzhardinge <jeremy@goop.org> | 2009-01-28 14:35:02 -0800 |
---|---|---|
committer | H. Peter Anvin <hpa@linux.intel.com> | 2009-01-30 14:51:44 -0800 |
commit | 41edafdb78feac1d1f8823846209975fde990633 (patch) | |
tree | 00bb95195332962916be365c6119f17a22770758 /arch/x86/kernel/entry_64.S | |
parent | 319f3ba52c71630865b10ac3b99dd020440d681d (diff) |
x86/pvops: add a paravirt_ident functions to allow special patching
Impact: Optimization
Several paravirt ops implementations simply return their arguments,
the most obvious being the make_pte/pte_val class of operations on
native.
On 32-bit, the identity function is literally a no-op, as the calling
convention uses the same registers for the first argument and return.
On 64-bit, it can be implemented with a single "mov".
This patch adds special identity functions for 32 and 64 bit argument,
and machinery to recognize them and replace them with either nops or a
mov as appropriate.
At the moment, the only users for the identity functions are the
pagetable entry conversion functions.
The result is a measureable improvement on pagetable-heavy benchmarks
(2-3%, reducing the pvops overhead from 5 to 2%).
Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Diffstat (limited to 'arch/x86/kernel/entry_64.S')
0 files changed, 0 insertions, 0 deletions