Re: [PATCH v2 2/2] x86/pat: Avoid contention on cpa_lock if possible

From: Ido Yariv
Date: Wed Aug 22 2012 - 05:53:22 EST


Hi Ingo,

On Wed, Aug 22, 2012 at 10:47:02AM +0200, Ingo Molnar wrote:
>
> * Ido Yariv <ido@xxxxxxxxxx> wrote:
>
> > vSMP Foundation does not require to serialize CPA by guaranteeing that
> > the most recent TLB entry will always be used.
> >
> > To avoid needless contention on cpa_lock, do not lock/unlock it if it
> > isn't necessary.
> >
> > Based on work by Shai Fultheim <shai@xxxxxxxxxxx>.
> >
> > Signed-off-by: Ido Yariv <ido@xxxxxxxxxx>
> > Acked-by: Shai Fultheim <shai@xxxxxxxxxxx>
> > ---
> > Changes from v1:
> > - Use a synthetic CPUID bit and a use static_cpu_has() as suggested by
> > H. Peter Avnin
> >
> > arch/x86/include/asm/cpufeature.h | 1 +
> > arch/x86/kernel/vsmp_64.c | 10 ++++++++++
> > arch/x86/mm/pageattr.c | 30 +++++++++++++++++++++---------
> > 3 files changed, 32 insertions(+), 9 deletions(-)
> >
> > diff --git a/arch/x86/include/asm/cpufeature.h b/arch/x86/include/asm/cpufeature.h
> > index 6b7ee5f..92303a0 100644
> > --- a/arch/x86/include/asm/cpufeature.h
> > +++ b/arch/x86/include/asm/cpufeature.h
> > @@ -97,6 +97,7 @@
> > #define X86_FEATURE_EXTD_APICID (3*32+26) /* has extended APICID (8 bits) */
> > #define X86_FEATURE_AMD_DCM (3*32+27) /* multi-node processor */
> > #define X86_FEATURE_APERFMPERF (3*32+28) /* APERFMPERF */
> > +#define X86_FEATURE_NO_CPA_LOCK (3*32+29) /* Serializing cpa is not required */
>
> Patch looks mostly good, but could we please use some more
> hardware-ish name, instead of referring to a kernel lock?

Sure thing. How about X86_FEATURE_TLB_RELIABLE?

Thanks,
Ido.