Re: [RFC v2 01/32] x86/paravirt: Introduce CONFIG_PARAVIRT_XL

From: Juergen Gross
Date: Wed May 12 2021 - 09:51:29 EST


On 12.05.21 15:24, Andi Kleen wrote:

On 5/12/2021 6:18 AM, Peter Zijlstra wrote:
On Mon, May 10, 2021 at 05:56:05PM +0200, Juergen Gross wrote:

No. We have PARAVIRT_XXL for Xen PV guests, and we have PARAVIRT for
other hypervisor's guests, supporting basically the TLB flush operations
and time related operations only. Adding the halt related operations to
PARAVIRT wouldn't break anything.
Also, I don't think anything modern should actually ever hit any of the
HLT instructions, most everything should end up at an MWAIT.

Still, do we wants to give arch_safe_halt() and halt() the
PVOP_ALT_VCALL0() treatment?

From performance reasons it's pointless to patch. HLT (and MWAIT) are so slow anyways that using patching or an indirect pointer is completely in the noise. So I would use whatever is cleanest in the code.

This would probably be x86_platform_ops.hyper hooks.


Juergen

Attachment: OpenPGP_0xB0DE9DD628BF132F.asc
Description: application/pgp-keys

Attachment: OpenPGP_signature
Description: OpenPGP digital signature