diff options
author | Peter Zijlstra <peterz@infradead.org> | 2025-04-12 13:55:49 +0200 |
---|---|---|
committer | Peter Zijlstra <peterz@infradead.org> | 2025-08-18 14:23:07 +0200 |
commit | 0e20f1f4c2cb77130cfe903a058a08883645dc4b (patch) | |
tree | c6214bdf7c286398ac73d05878129099edbdffe7 /scripts/lib/kdoc/kdoc_files.py | |
parent | a1d34a444ce8c9a6ec4376247f80f0b777c6d3fe (diff) |
x86/hyperv: Clean up hv_do_hypercall()
What used to be a simple few instructions has turned into a giant mess
(for x86_64). Not only does it use static_branch wrong, it mixes it
with dynamic branches for no apparent reason.
Notably it uses static_branch through an out-of-line function call,
which completely defeats the purpose, since instead of a simple
JMP/NOP site, you get a CALL+RET+TEST+Jcc sequence in return, which is
absolutely idiotic.
Add to that a dynamic test of hyperv_paravisor_present, something
which is set once and never changed.
Replace all this idiocy with a single direct function call to the
right hypercall variant.
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Reviewed-by: Michael Kelley <mhklinux@outlook.com>
Tested-by: Michael Kelley <mhklinux@outlook.com>
Acked-by: Sean Christopherson <seanjc@google.com>
Link: https://lkml.kernel.org/r/20250714103440.897136093@infradead.org
Diffstat (limited to 'scripts/lib/kdoc/kdoc_files.py')
0 files changed, 0 insertions, 0 deletions