Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

mshv: Add SMT_ENABLED_GUEST partition creation flag

Add support for HV_PARTITION_CREATION_FLAG_SMT_ENABLED_GUEST
to allow userspace VMMs to enable SMT for guest partitions.

Expose this via new MSHV_PT_BIT_SMT_ENABLED_GUEST flag in the UAPI.

Without this flag, the hypervisor schedules guest VPs incorrectly,
causing SMT unusable.

Signed-off-by: Anatol Belski <anbelski@linux.microsoft.com>
Signed-off-by: Wei Liu <wei.liu@kernel.org>

authored by

Anatol Belski and committed by
Wei Liu
8927a108 a284dbc9

+4
+2
drivers/hv/mshv_root_main.c
··· 1949 1949 *pt_flags |= HV_PARTITION_CREATION_FLAG_GPA_SUPER_PAGES_ENABLED; 1950 1950 if (args.pt_flags & BIT(MSHV_PT_BIT_NESTED_VIRTUALIZATION)) 1951 1951 *pt_flags |= HV_PARTITION_CREATION_FLAG_NESTED_VIRTUALIZATION_CAPABLE; 1952 + if (args.pt_flags & BIT(MSHV_PT_BIT_SMT_ENABLED_GUEST)) 1953 + *pt_flags |= HV_PARTITION_CREATION_FLAG_SMT_ENABLED_GUEST; 1952 1954 1953 1955 isol_props->as_uint64 = 0; 1954 1956
+1
include/hyperv/hvhdk.h
··· 335 335 #define HV_PARTITION_ISOLATION_HOST_TYPE_RESERVED 0x2 336 336 337 337 /* Note: Exo partition is enabled by default */ 338 + #define HV_PARTITION_CREATION_FLAG_SMT_ENABLED_GUEST BIT(0) 338 339 #define HV_PARTITION_CREATION_FLAG_NESTED_VIRTUALIZATION_CAPABLE BIT(1) 339 340 #define HV_PARTITION_CREATION_FLAG_GPA_SUPER_PAGES_ENABLED BIT(4) 340 341 #define HV_PARTITION_CREATION_FLAG_EXO_PARTITION BIT(8)
+1
include/uapi/linux/mshv.h
··· 28 28 MSHV_PT_BIT_GPA_SUPER_PAGES, 29 29 MSHV_PT_BIT_CPU_AND_XSAVE_FEATURES, 30 30 MSHV_PT_BIT_NESTED_VIRTUALIZATION, 31 + MSHV_PT_BIT_SMT_ENABLED_GUEST, 31 32 MSHV_PT_BIT_COUNT, 32 33 }; 33 34