diff mbox series

KVM: VMX: make read-only const array vmx_uret_msrs_list static

Message ID 20220414100720.295502-1-colin.i.king@gmail.com (mailing list archive)
State New, archived
Headers show
Series KVM: VMX: make read-only const array vmx_uret_msrs_list static | expand

Commit Message

Colin Ian King April 14, 2022, 10:07 a.m. UTC
Don't populate the read-only array vmx_uret_msrs_list on the stack
but instead make it static. Also makes the object code a little smaller.

Signed-off-by: Colin Ian King <colin.i.king@gmail.com>
---
 arch/x86/kvm/vmx/vmx.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Sean Christopherson April 14, 2022, 2:39 p.m. UTC | #1
On Thu, Apr 14, 2022, Colin Ian King wrote:
> Don't populate the read-only array vmx_uret_msrs_list on the stack
> but instead make it static. Also makes the object code a little smaller.

Why not put it on the stack?  It's an __init function, i.e. called once in the
lifetime of kvm-intel.ko, isn't all that big, and is certainly not performance
critical.  And making it static begs the question of whether or not the data gets
thrown away after init, i.e. this might consume _more_ memory once KVM has reached
steady state.

> Signed-off-by: Colin Ian King <colin.i.king@gmail.com>
> ---
>  arch/x86/kvm/vmx/vmx.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/arch/x86/kvm/vmx/vmx.c b/arch/x86/kvm/vmx/vmx.c
> index c654c9d76e09..36429e2bb918 100644
> --- a/arch/x86/kvm/vmx/vmx.c
> +++ b/arch/x86/kvm/vmx/vmx.c
> @@ -7871,7 +7871,7 @@ static __init void vmx_setup_user_return_msrs(void)
>  	 * but is never loaded into hardware.  MSR_CSTAR is also never loaded
>  	 * into hardware and is here purely for emulation purposes.
>  	 */
> -	const u32 vmx_uret_msrs_list[] = {
> +	static const u32 vmx_uret_msrs_list[] = {
>  	#ifdef CONFIG_X86_64
>  		MSR_SYSCALL_MASK, MSR_LSTAR, MSR_CSTAR,
>  	#endif
> -- 
> 2.35.1
>
Colin Ian King April 14, 2022, 3:15 p.m. UTC | #2
On 14/04/2022 15:39, Sean Christopherson wrote:
> On Thu, Apr 14, 2022, Colin Ian King wrote:
>> Don't populate the read-only array vmx_uret_msrs_list on the stack
>> but instead make it static. Also makes the object code a little smaller.
> 
> Why not put it on the stack?  It's an __init function, i.e. called once in the
> lifetime of kvm-intel.ko, isn't all that big, and is certainly not performance
> critical.  And making it static begs the question of whether or not the data gets
> thrown away after init, i.e. this might consume _more_ memory once KVM has reached
> steady state.

Doh, my bad, I forgot to check that it was an __init function. Please 
discard this patch.

Colin

> 
>> Signed-off-by: Colin Ian King <colin.i.king@gmail.com>
>> ---
>>   arch/x86/kvm/vmx/vmx.c | 2 +-
>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/arch/x86/kvm/vmx/vmx.c b/arch/x86/kvm/vmx/vmx.c
>> index c654c9d76e09..36429e2bb918 100644
>> --- a/arch/x86/kvm/vmx/vmx.c
>> +++ b/arch/x86/kvm/vmx/vmx.c
>> @@ -7871,7 +7871,7 @@ static __init void vmx_setup_user_return_msrs(void)
>>   	 * but is never loaded into hardware.  MSR_CSTAR is also never loaded
>>   	 * into hardware and is here purely for emulation purposes.
>>   	 */
>> -	const u32 vmx_uret_msrs_list[] = {
>> +	static const u32 vmx_uret_msrs_list[] = {
>>   	#ifdef CONFIG_X86_64
>>   		MSR_SYSCALL_MASK, MSR_LSTAR, MSR_CSTAR,
>>   	#endif
>> -- 
>> 2.35.1
>>
diff mbox series

Patch

diff --git a/arch/x86/kvm/vmx/vmx.c b/arch/x86/kvm/vmx/vmx.c
index c654c9d76e09..36429e2bb918 100644
--- a/arch/x86/kvm/vmx/vmx.c
+++ b/arch/x86/kvm/vmx/vmx.c
@@ -7871,7 +7871,7 @@  static __init void vmx_setup_user_return_msrs(void)
 	 * but is never loaded into hardware.  MSR_CSTAR is also never loaded
 	 * into hardware and is here purely for emulation purposes.
 	 */
-	const u32 vmx_uret_msrs_list[] = {
+	static const u32 vmx_uret_msrs_list[] = {
 	#ifdef CONFIG_X86_64
 		MSR_SYSCALL_MASK, MSR_LSTAR, MSR_CSTAR,
 	#endif