diff options
| author | 2009-01-28 14:35:02 -0800 | |
|---|---|---|
| committer | 2009-01-30 14:51:44 -0800 | |
| commit | 41edafdb78feac1d1f8823846209975fde990633 (patch) | |
| tree | 00bb95195332962916be365c6119f17a22770758 /kernel/sysctl_binary.c | |
| parent | xen: move remaining mmu-related stuff into mmu.c (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 'kernel/sysctl_binary.c')
0 files changed, 0 insertions, 0 deletions
