Re: [PATCH RFC 01/13] x86: Move posted interrupt descriptor out of vmx code

From: Jacob Pan
Date: Fri Dec 08 2023 - 19:23:47 EST


Hi Thomas,

On Fri, 08 Dec 2023 10:31:20 +0100, Thomas Gleixner <tglx@xxxxxxxxxxxxx>
wrote:

> On Thu, Dec 07 2023 at 20:54, Jacob Pan wrote:
> > On Wed, 06 Dec 2023 17:33:28 +0100, Thomas Gleixner <tglx@xxxxxxxxxxxxx>
> > wrote:
> >> On Sat, Nov 11 2023 at 20:16, Jacob Pan wrote:
> >> u32 rsvd[6];
> >> } __aligned(64);
> >>
> > It seems bit-fields cannot pass type check. I got these compile error.
>
> And why are you telling me that instead if simply fixing it?
I guess we can fix it like this to use the new bitfields:

void intel_posted_msi_init(void)
{
- this_cpu_write(posted_interrupt_desc.nv, POSTED_MSI_NOTIFICATION_VECTOR);
- this_cpu_write(posted_interrupt_desc.ndst, this_cpu_read(x86_cpu_to_apicid));
+ struct pi_desc *pid = this_cpu_ptr(&posted_interrupt_desc);
+
+ pid->nv = POSTED_MSI_NOTIFICATION_VECTOR;
+ pid->ndst = this_cpu_read(x86_cpu_to_apicid);

It is init time, no IOMMU posting yet. So no need for atomics.


Thanks,

Jacob