> From: Olaf Hering <olaf@xxxxxxxxx> > Sent: Monday, September 18, 2023 9:02 AM > [...] > Use the hole prior shared_gpa_boundary to store the result of get_vtl. > This reduces the size by 8 bytes. > [...] > --- a/include/asm-generic/mshyperv.h > +++ b/include/asm-generic/mshyperv.h > @@ -53,8 +53,8 @@ struct ms_hyperv_info { > u32 reserved_b2 : 20; > }; > }; > - u64 shared_gpa_boundary; > u8 vtl; > + u64 shared_gpa_boundary; > }; > extern struct ms_hyperv_info ms_hyperv; > extern bool hv_nested; How about moving the 'vtl' field to an even earlier place: --- a/include/asm-generic/mshyperv.h +++ b/include/asm-generic/mshyperv.h @@ -36,6 +36,9 @@ struct ms_hyperv_info { u32 nested_features; u32 max_vp_index; u32 max_lp_index; + + u8 vtl; + union { u32 isolation_config_a; struct { @@ -54,7 +57,6 @@ struct ms_hyperv_info { }; }; u64 shared_gpa_boundary; - u8 vtl; }; extern struct ms_hyperv_info ms_hyperv; extern bool hv_nested; This also reduces the size by 8 bytes, and keeps the isolation_config_a/ isolation_config_b/ shared_gpa_boundary together, which are related.