Re: [PATCH RFC 06/13] x86/irq: Unionize PID.PIR for 64bit access w/o casting

From: Thomas Gleixner
Date: Wed Dec 06 2023 - 11:51:18 EST


On Sat, Nov 11 2023 at 20:16, Jacob Pan wrote:
> Make PIR field into u64 such that atomic xchg64 can be used without ugly
> casting.

Make PIR field into... That's not a sentence.


> Suggested-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
> Signed-off-by: Jacob Pan <jacob.jun.pan@xxxxxxxxxxxxxxx>
> ---
> arch/x86/include/asm/posted_intr.h | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/arch/x86/include/asm/posted_intr.h b/arch/x86/include/asm/posted_intr.h
> index 2cd9ac1af835..3af00f5395e4 100644
> --- a/arch/x86/include/asm/posted_intr.h
> +++ b/arch/x86/include/asm/posted_intr.h
> @@ -9,7 +9,10 @@
>
> /* Posted-Interrupt Descriptor */
> struct pi_desc {
> - u32 pir[8]; /* Posted interrupt requested */
> + union {
> + u32 pir[8]; /* Posted interrupt requested */
> + u64 pir_l[4];

pir_l is really not intuitive. What's wrong with spelling the type out
in the name: pir64[4] ?

> + };
> union {
> struct {
> /* bit 256 - Outstanding Notification */