2024-05-06 17:51:38

by Jacob Pan

[permalink] [raw]
Subject: [PATCH] x86/irq: Use existing helper for pending vector check

lapic_vector_set_in_irr() is already available, use it for checking
pending vectors at the local APIC. No functional change.

Signed-off-by: Jacob Pan <[email protected]>
Cc: Imran Khan <[email protected]>
---
arch/x86/include/asm/apic.h | 8 +-------
1 file changed, 1 insertion(+), 7 deletions(-)

diff --git a/arch/x86/include/asm/apic.h b/arch/x86/include/asm/apic.h
index 9122e93b89ea..d7a8ac961af8 100644
--- a/arch/x86/include/asm/apic.h
+++ b/arch/x86/include/asm/apic.h
@@ -505,13 +505,7 @@ static inline bool lapic_vector_set_in_irr(unsigned int vector)

static inline bool is_vector_pending(unsigned int vector)
{
- unsigned int irr;
-
- irr = apic_read(APIC_IRR + (vector / 32 * 0x10));
- if (irr & (1 << (vector % 32)))
- return true;
-
- return pi_pending_this_cpu(vector);
+ return lapic_vector_set_in_irr(vector) || pi_pending_this_cpu(vector);
}

/*
--
2.25.1



2024-05-07 00:58:53

by Imran Khan

[permalink] [raw]
Subject: Re: [PATCH] x86/irq: Use existing helper for pending vector check

Hello Jacob,
This looks good to me.


On 7/5/2024 3:56 am, Jacob Pan wrote:
> lapic_vector_set_in_irr() is already available, use it for checking
> pending vectors at the local APIC. No functional change.
>
> Signed-off-by: Jacob Pan <[email protected]>
> Cc: Imran Khan <[email protected]>

Reviewed-by: Imran Khan <[email protected]>
> ---
> arch/x86/include/asm/apic.h | 8 +-------
> 1 file changed, 1 insertion(+), 7 deletions(-)
>
> diff --git a/arch/x86/include/asm/apic.h b/arch/x86/include/asm/apic.h
> index 9122e93b89ea..d7a8ac961af8 100644
> --- a/arch/x86/include/asm/apic.h
> +++ b/arch/x86/include/asm/apic.h
> @@ -505,13 +505,7 @@ static inline bool lapic_vector_set_in_irr(unsigned int vector)
>
> static inline bool is_vector_pending(unsigned int vector)
> {
> - unsigned int irr;
> -
> - irr = apic_read(APIC_IRR + (vector / 32 * 0x10));
> - if (irr & (1 << (vector % 32)))
> - return true;
> -
> - return pi_pending_this_cpu(vector);
> + return lapic_vector_set_in_irr(vector) || pi_pending_this_cpu(vector);
> }
>
> /*


Subject: [tip: x86/irq] x86/irq: Use existing helper for pending vector check

The following commit has been merged into the x86/irq branch of tip:

Commit-ID: 6ecc2e7932fe8f132d3b671685f9995785f19e9a
Gitweb: https://git.kernel.org/tip/6ecc2e7932fe8f132d3b671685f9995785f19e9a
Author: Jacob Pan <[email protected]>
AuthorDate: Mon, 06 May 2024 10:56:12 -07:00
Committer: Thomas Gleixner <[email protected]>
CommitterDate: Wed, 08 May 2024 15:15:15 +02:00

x86/irq: Use existing helper for pending vector check

lapic_vector_set_in_irr() is already available, use it for checking
pending vectors at the local APIC. No functional change.

Signed-off-by: Jacob Pan <[email protected]>
Signed-off-by: Thomas Gleixner <[email protected]>
Reviewed-by: Imran Khan <[email protected]>
Link: https://lore.kernel.org/r/[email protected]

---
arch/x86/include/asm/apic.h | 8 +-------
1 file changed, 1 insertion(+), 7 deletions(-)

diff --git a/arch/x86/include/asm/apic.h b/arch/x86/include/asm/apic.h
index 5644c39..467532b 100644
--- a/arch/x86/include/asm/apic.h
+++ b/arch/x86/include/asm/apic.h
@@ -503,13 +503,7 @@ static inline bool lapic_vector_set_in_irr(unsigned int vector)

static inline bool is_vector_pending(unsigned int vector)
{
- unsigned int irr;
-
- irr = apic_read(APIC_IRR + (vector / 32 * 0x10));
- if (irr & (1 << (vector % 32)))
- return true;
-
- return pi_pending_this_cpu(vector);
+ return lapic_vector_set_in_irr(vector) || pi_pending_this_cpu(vector);
}

/*