diff mbox series

KVM: apic: remove unused function apic_lvt_vector()

Message ID 1581561464-3893-1-git-send-email-linmiaohe@huawei.com (mailing list archive)
State New, archived
Headers show
Series KVM: apic: remove unused function apic_lvt_vector() | expand

Commit Message

Miaohe Lin Feb. 13, 2020, 2:37 a.m. UTC
From: Miaohe Lin <linmiaohe@huawei.com>

The function apic_lvt_vector() is unused now, remove it.

Signed-off-by: Miaohe Lin <linmiaohe@huawei.com>
---
 arch/x86/kvm/lapic.c | 5 -----
 1 file changed, 5 deletions(-)

Comments

Krish Sadhukhan Feb. 13, 2020, 7:14 p.m. UTC | #1
On 2/12/20 6:37 PM, linmiaohe wrote:
> From: Miaohe Lin <linmiaohe@huawei.com>
>
> The function apic_lvt_vector() is unused now, remove it.
>
> Signed-off-by: Miaohe Lin <linmiaohe@huawei.com>
> ---
>   arch/x86/kvm/lapic.c | 5 -----
>   1 file changed, 5 deletions(-)
>
> diff --git a/arch/x86/kvm/lapic.c b/arch/x86/kvm/lapic.c
> index eafc631d305c..0b563c280784 100644
> --- a/arch/x86/kvm/lapic.c
> +++ b/arch/x86/kvm/lapic.c
> @@ -294,11 +294,6 @@ static inline int apic_lvt_enabled(struct kvm_lapic *apic, int lvt_type)
>   	return !(kvm_lapic_get_reg(apic, lvt_type) & APIC_LVT_MASKED);
>   }
>   
> -static inline int apic_lvt_vector(struct kvm_lapic *apic, int lvt_type)
> -{
> -	return kvm_lapic_get_reg(apic, lvt_type) & APIC_VECTOR_MASK;
> -}
> -
>   static inline int apic_lvtt_oneshot(struct kvm_lapic *apic)
>   {
>   	return apic->lapic_timer.timer_mode == APIC_LVT_TIMER_ONESHOT;

There is one place, lapic_timer_int_injected(), where this function be 
used :

         struct kvm_lapic *apic = vcpu->arch.apic;
-       u32 reg = kvm_lapic_get_reg(apic, APIC_LVTT);

         if (kvm_apic_hw_enabled(apic)) {

-                int vec = reg & APIC_VECTOR_MASK;

+               int vec = apic_lvt_vector(APIC_LVTT);
                  void *bitmap = apic->regs + APIC_ISR;


But since that's the only place I can find, we probably don't need a 
separate function.


Reviewed-by: Krish Sadhukhan <krish.sadhukhan@oracle.com>
Vitaly Kuznetsov Feb. 17, 2020, 5:02 p.m. UTC | #2
Krish Sadhukhan <krish.sadhukhan@oracle.com> writes:

> On 2/12/20 6:37 PM, linmiaohe wrote:
>> From: Miaohe Lin <linmiaohe@huawei.com>
>>
>> The function apic_lvt_vector() is unused now, remove it.
>>
>> Signed-off-by: Miaohe Lin <linmiaohe@huawei.com>
>> ---
>>   arch/x86/kvm/lapic.c | 5 -----
>>   1 file changed, 5 deletions(-)
>>
>> diff --git a/arch/x86/kvm/lapic.c b/arch/x86/kvm/lapic.c
>> index eafc631d305c..0b563c280784 100644
>> --- a/arch/x86/kvm/lapic.c
>> +++ b/arch/x86/kvm/lapic.c
>> @@ -294,11 +294,6 @@ static inline int apic_lvt_enabled(struct kvm_lapic *apic, int lvt_type)
>>   	return !(kvm_lapic_get_reg(apic, lvt_type) & APIC_LVT_MASKED);
>>   }
>>   
>> -static inline int apic_lvt_vector(struct kvm_lapic *apic, int lvt_type)
>> -{
>> -	return kvm_lapic_get_reg(apic, lvt_type) & APIC_VECTOR_MASK;
>> -}
>> -
>>   static inline int apic_lvtt_oneshot(struct kvm_lapic *apic)
>>   {
>>   	return apic->lapic_timer.timer_mode == APIC_LVT_TIMER_ONESHOT;
>
> There is one place, lapic_timer_int_injected(), where this function be 
> used :
>
>          struct kvm_lapic *apic = vcpu->arch.apic;
> -       u32 reg = kvm_lapic_get_reg(apic, APIC_LVTT);
>
>          if (kvm_apic_hw_enabled(apic)) {
>
> -                int vec = reg & APIC_VECTOR_MASK;
>
> +               int vec = apic_lvt_vector(APIC_LVTT);
>                   void *bitmap = apic->regs + APIC_ISR;
>
>
> But since that's the only place I can find, we probably don't need a 
> separate function.
>

I like the alternative suggestion more than the original patch)

Also, apic_lvt_enabled() is only used once with APIC_LVTT as the second
argument so I'd suggest we also do:

diff --git a/arch/x86/kvm/lapic.c b/arch/x86/kvm/lapic.c
index afcd30d44cbb..d85463ff4a6f 100644
--- a/arch/x86/kvm/lapic.c
+++ b/arch/x86/kvm/lapic.c
@@ -289,14 +289,14 @@ static inline void kvm_apic_set_x2apic_id(struct kvm_lapic *apic, u32 id)
        recalculate_apic_map(apic->vcpu->kvm);
 }
 
-static inline int apic_lvt_enabled(struct kvm_lapic *apic, int lvt_type)
+static inline int apic_lvtt_enabled(struct kvm_lapic *apic)
 {
-       return !(kvm_lapic_get_reg(apic, lvt_type) & APIC_LVT_MASKED);
+       return !(kvm_lapic_get_reg(apic, APIC_LVTT) & APIC_LVT_MASKED);
 }
 
-static inline int apic_lvt_vector(struct kvm_lapic *apic, int lvt_type)
+static inline int apic_lvtt_vector(struct kvm_lapic *apic)
 {
-       return kvm_lapic_get_reg(apic, lvt_type) & APIC_VECTOR_MASK;
+       return kvm_lapic_get_reg(apic, APIC_LVTT) & APIC_VECTOR_MASK;
 }

in addition to the above.
Paolo Bonzini Feb. 17, 2020, 5:13 p.m. UTC | #3
On 17/02/20 18:02, Vitaly Kuznetsov wrote:
> 
> Also, apic_lvt_enabled() is only used once with APIC_LVTT as the second
> argument so I'd suggest we also do:
> 
> diff --git a/arch/x86/kvm/lapic.c b/arch/x86/kvm/lapic.c
> index afcd30d44cbb..d85463ff4a6f 100644
> --- a/arch/x86/kvm/lapic.c
> +++ b/arch/x86/kvm/lapic.c
> @@ -289,14 +289,14 @@ static inline void kvm_apic_set_x2apic_id(struct kvm_lapic *apic, u32 id)
>         recalculate_apic_map(apic->vcpu->kvm);
>  }
>  
> -static inline int apic_lvt_enabled(struct kvm_lapic *apic, int lvt_type)
> +static inline int apic_lvtt_enabled(struct kvm_lapic *apic)
>  {
> -       return !(kvm_lapic_get_reg(apic, lvt_type) & APIC_LVT_MASKED);
> +       return !(kvm_lapic_get_reg(apic, APIC_LVTT) & APIC_LVT_MASKED);
>  }
>  
> -static inline int apic_lvt_vector(struct kvm_lapic *apic, int lvt_type)
> +static inline int apic_lvtt_vector(struct kvm_lapic *apic)
>  {
> -       return kvm_lapic_get_reg(apic, lvt_type) & APIC_VECTOR_MASK;
> +       return kvm_lapic_get_reg(apic, APIC_LVTT) & APIC_VECTOR_MASK;
>  }
> 
> in addition to the above.
> 
> -- Vitaly

Sounds good.

Paolo
diff mbox series

Patch

diff --git a/arch/x86/kvm/lapic.c b/arch/x86/kvm/lapic.c
index eafc631d305c..0b563c280784 100644
--- a/arch/x86/kvm/lapic.c
+++ b/arch/x86/kvm/lapic.c
@@ -294,11 +294,6 @@  static inline int apic_lvt_enabled(struct kvm_lapic *apic, int lvt_type)
 	return !(kvm_lapic_get_reg(apic, lvt_type) & APIC_LVT_MASKED);
 }
 
-static inline int apic_lvt_vector(struct kvm_lapic *apic, int lvt_type)
-{
-	return kvm_lapic_get_reg(apic, lvt_type) & APIC_VECTOR_MASK;
-}
-
 static inline int apic_lvtt_oneshot(struct kvm_lapic *apic)
 {
 	return apic->lapic_timer.timer_mode == APIC_LVT_TIMER_ONESHOT;