diff options
author | David Woodhouse <[email protected]> | 2018-02-10 23:39:24 +0000 |
---|---|---|
committer | Ingo Molnar <[email protected]> | 2018-02-13 08:59:45 +0100 |
commit | 928a4c39484281f8ca366f53a1db79330d058401 (patch) | |
tree | 85d7dd5ecc67e96f525effa8326416176fd306ad /net/unix/sysctl_net_unix.c | |
parent | f208820a321f9b23d77d7eed89945d862d62a3ed (diff) |
KVM/x86: Reduce retpoline performance impact in slot_handle_level_range(), by always inlining iterator helper methods
With retpoline, tight loops of "call this function for every XXX" are
very much pessimised by taking a prediction miss *every* time. This one
is by far the biggest contributor to the guest launch time with retpoline.
By marking the iterator slot_handle_…() functions always_inline, we can
ensure that the indirect function call can be optimised away into a
direct call and it actually generates slightly smaller code because
some of the other conditionals can get optimised away too.
Performance is now pretty close to what we see with nospectre_v2 on
the command line.
Suggested-by: Linus Torvalds <[email protected]>
Tested-by: Filippo Sironi <[email protected]>
Signed-off-by: David Woodhouse <[email protected]>
Reviewed-by: Filippo Sironi <[email protected]>
Acked-by: Paolo Bonzini <[email protected]>
Cc: Andy Lutomirski <[email protected]>
Cc: Arjan van de Ven <[email protected]>
Cc: Borislav Petkov <[email protected]>
Cc: Dan Williams <[email protected]>
Cc: Dave Hansen <[email protected]>
Cc: David Woodhouse <[email protected]>
Cc: Greg Kroah-Hartman <[email protected]>
Cc: Josh Poimboeuf <[email protected]>
Cc: Peter Zijlstra <[email protected]>
Cc: Thomas Gleixner <[email protected]>
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Link: http://lkml.kernel.org/r/[email protected]
Signed-off-by: Ingo Molnar <[email protected]>
Diffstat (limited to 'net/unix/sysctl_net_unix.c')
0 files changed, 0 insertions, 0 deletions