RE: [PATCH] iommu/vt-d: Use cmpxchg16b to update posted format IRTE atomically

From: Wu, Feng
Date: Thu Oct 15 2015 - 21:01:14 EST




> -----Original Message-----
> From: linux-kernel-owner@xxxxxxxxxxxxxxx [mailto:linux-kernel-
> owner@xxxxxxxxxxxxxxx] On Behalf Of Joerg Roedel
> Sent: Thursday, October 15, 2015 10:24 PM
> To: Wu, Feng <feng.wu@xxxxxxxxx>
> Cc: iommu@xxxxxxxxxxxxxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx
> Subject: Re: [PATCH] iommu/vt-d: Use cmpxchg16b to update posted format
> IRTE atomically
>
> On Thu, Oct 15, 2015 at 10:19:11AM +0800, Feng Wu wrote:
> > If IRTE is in posted format, the 'pda' field goes across the 64-bit
> > boundary, we need use cmpxchg16b to atomically update it. We only
> > expose posted-interrupt when X86_FEATURE_CX16 is supported and use
> > to update it atomically.
> > +
> > + ret = cmpxchg_double(&irte->low, &irte->high,
> > + irte->low, irte->high,
> > + irte_modified->low, irte_modified->high);
> > + /*
> > + * We use cmpxchg16 to atomically update the 128-bit IRTE,
> > + * and it cannot be updated by the hardware or other
> processors
> > + * behind us, so the return value of cmpxchg16 should be the
> > + * same as the old value.
> > + */
> > + BUG_ON(!ret);
>
> Changed this to a WARN_ON, otherwise applied.

Thanks a lot, Joerg!

Thanks,
Feng
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/