2024-01-12 03:51:10

by maobibo

[permalink] [raw]
Subject: [PATCH] LoongArch: KVM: Remove unnecessary CSR register saving during enter guest

Some CSR registers like CRMD/PRMD are saved during enter VM mode. However
they are not restored for actual use, saving for these CSR registers
can be removed.

Signed-off-by: Bibo Mao <[email protected]>
---
arch/loongarch/kvm/switch.S | 6 ------
1 file changed, 6 deletions(-)

diff --git a/arch/loongarch/kvm/switch.S b/arch/loongarch/kvm/switch.S
index 0ed9040307b7..905b90de50e8 100644
--- a/arch/loongarch/kvm/switch.S
+++ b/arch/loongarch/kvm/switch.S
@@ -213,12 +213,6 @@ SYM_FUNC_START(kvm_enter_guest)
/* Save host GPRs */
kvm_save_host_gpr a2

- /* Save host CRMD, PRMD to stack */
- csrrd a3, LOONGARCH_CSR_CRMD
- st.d a3, a2, PT_CRMD
- csrrd a3, LOONGARCH_CSR_PRMD
- st.d a3, a2, PT_PRMD
-
addi.d a2, a1, KVM_VCPU_ARCH
st.d sp, a2, KVM_ARCH_HSP
st.d tp, a2, KVM_ARCH_HTP

base-commit: de927f6c0b07d9e698416c5b287c521b07694cac
--
2.39.3



2024-01-31 03:48:38

by maobibo

[permalink] [raw]
Subject: Re: [PATCH] LoongArch: KVM: Remove unnecessary CSR register saving during enter guest

slightly ping :)

On 2024/1/12 上午11:50, Bibo Mao wrote:
> Some CSR registers like CRMD/PRMD are saved during enter VM mode. However
> they are not restored for actual use, saving for these CSR registers
> can be removed.
>
> Signed-off-by: Bibo Mao <[email protected]>
> ---
> arch/loongarch/kvm/switch.S | 6 ------
> 1 file changed, 6 deletions(-)
>
> diff --git a/arch/loongarch/kvm/switch.S b/arch/loongarch/kvm/switch.S
> index 0ed9040307b7..905b90de50e8 100644
> --- a/arch/loongarch/kvm/switch.S
> +++ b/arch/loongarch/kvm/switch.S
> @@ -213,12 +213,6 @@ SYM_FUNC_START(kvm_enter_guest)
> /* Save host GPRs */
> kvm_save_host_gpr a2
>
> - /* Save host CRMD, PRMD to stack */
> - csrrd a3, LOONGARCH_CSR_CRMD
> - st.d a3, a2, PT_CRMD
> - csrrd a3, LOONGARCH_CSR_PRMD
> - st.d a3, a2, PT_PRMD
> -
> addi.d a2, a1, KVM_VCPU_ARCH
> st.d sp, a2, KVM_ARCH_HSP
> st.d tp, a2, KVM_ARCH_HTP
>
> base-commit: de927f6c0b07d9e698416c5b287c521b07694cac
>


2024-02-01 03:32:24

by zhaotianrui

[permalink] [raw]
Subject: Re: [PATCH] LoongArch: KVM: Remove unnecessary CSR register saving during enter guest

Reviewed-by: Tianrui Zhao <[email protected]>

在 2024/1/31 上午11:48, maobibo 写道:
> slightly ping :)
>
> On 2024/1/12 上午11:50, Bibo Mao wrote:
>> Some CSR registers like CRMD/PRMD are saved during enter VM mode. However
>> they are not restored for actual use, saving for these CSR registers
>> can be removed.
>>
>> Signed-off-by: Bibo Mao <[email protected]>
>> ---
>>   arch/loongarch/kvm/switch.S | 6 ------
>>   1 file changed, 6 deletions(-)
>>
>> diff --git a/arch/loongarch/kvm/switch.S b/arch/loongarch/kvm/switch.S
>> index 0ed9040307b7..905b90de50e8 100644
>> --- a/arch/loongarch/kvm/switch.S
>> +++ b/arch/loongarch/kvm/switch.S
>> @@ -213,12 +213,6 @@ SYM_FUNC_START(kvm_enter_guest)
>>       /* Save host GPRs */
>>       kvm_save_host_gpr a2
>> -    /* Save host CRMD, PRMD to stack */
>> -    csrrd    a3, LOONGARCH_CSR_CRMD
>> -    st.d    a3, a2, PT_CRMD
>> -    csrrd    a3, LOONGARCH_CSR_PRMD
>> -    st.d    a3, a2, PT_PRMD
>> -
>>       addi.d    a2, a1, KVM_VCPU_ARCH
>>       st.d    sp, a2, KVM_ARCH_HSP
>>       st.d    tp, a2, KVM_ARCH_HTP
>>
>> base-commit: de927f6c0b07d9e698416c5b287c521b07694cac
>>


2024-02-26 12:59:16

by Huacai Chen

[permalink] [raw]
Subject: Re: [PATCH] LoongArch: KVM: Remove unnecessary CSR register saving during enter guest

LGTM, queued for loongarch-kvm.

Huacai

On Thu, Feb 1, 2024 at 11:30 AM zhaotianrui <[email protected]> wrote:
>
> Reviewed-by: Tianrui Zhao <[email protected]>
>
> 在 2024/1/31 上午11:48, maobibo 写道:
> > slightly ping :)
> >
> > On 2024/1/12 上午11:50, Bibo Mao wrote:
> >> Some CSR registers like CRMD/PRMD are saved during enter VM mode. However
> >> they are not restored for actual use, saving for these CSR registers
> >> can be removed.
> >>
> >> Signed-off-by: Bibo Mao <[email protected]>
> >> ---
> >> arch/loongarch/kvm/switch.S | 6 ------
> >> 1 file changed, 6 deletions(-)
> >>
> >> diff --git a/arch/loongarch/kvm/switch.S b/arch/loongarch/kvm/switch.S
> >> index 0ed9040307b7..905b90de50e8 100644
> >> --- a/arch/loongarch/kvm/switch.S
> >> +++ b/arch/loongarch/kvm/switch.S
> >> @@ -213,12 +213,6 @@ SYM_FUNC_START(kvm_enter_guest)
> >> /* Save host GPRs */
> >> kvm_save_host_gpr a2
> >> - /* Save host CRMD, PRMD to stack */
> >> - csrrd a3, LOONGARCH_CSR_CRMD
> >> - st.d a3, a2, PT_CRMD
> >> - csrrd a3, LOONGARCH_CSR_PRMD
> >> - st.d a3, a2, PT_PRMD
> >> -
> >> addi.d a2, a1, KVM_VCPU_ARCH
> >> st.d sp, a2, KVM_ARCH_HSP
> >> st.d tp, a2, KVM_ARCH_HTP
> >>
> >> base-commit: de927f6c0b07d9e698416c5b287c521b07694cac
> >>
>
>