[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <d081a3f8-4a66-f411-f1cd-e80d752d3851@intel.com>
Date: Wed, 18 May 2022 10:20:13 -0700
From: "Chang S. Bae" <chang.seok.bae@...el.com>
To: Dave Hansen <dave.hansen@...el.com>,
<linux-kernel@...r.kernel.org>, <x86@...nel.org>,
<linux-pm@...r.kernel.org>
CC: <tglx@...utronix.de>, <dave.hansen@...ux.intel.com>,
<peterz@...radead.org>, <bp@...en8.de>, <rafael@...nel.org>,
<ravi.v.shankar@...el.com>
Subject: Re: [PATCH v4 1/2] x86/fpu: Add a helper to prepare AMX state for
low-power CPU idle
On 5/18/2022 8:41 AM, Dave Hansen wrote:
>
> This is a pretty minor nit, but:
>
> X86_FEATURE_XFD depends on X86_FEATURE_XGETBV1
>
> and
>
> X86_FEATURE_AMX_TILE depends on X86_FEATURE_XFD
>
> via cpu_deps[]. So there is an implicit dependency all the way from AMX
> to XGETBV1. It's also not patently obvious what X86_FEATURE_XGETBV1 has
> to do with the rest of the if().
>
> Would this make more logical sense to folks?
>
> /* Note: AMX_TILE being enabled implies XGETBV1 support */
> if (cpu_feature_enabled(X86_FEATURE_AMX_TILE) &&
> (xfeatures_in_use() & XFEATURE_MASK_XTILE)) {
> tile_release();
> fpregs_deactivate(¤t->thread.fpu);
> }
With the note, I guess people will have no problem with AMX->XGETBV1.
But I would leave this question to others who can tell.
>
> That also has a nice side effect that non-AMX systems will get to use a
> static branch and can also skip over the XGETBV1 entirely.
Yes, but FWIW, as it is non-architectural, the function should be
consumed only by drivers for AMX systems.
>
> The downside is that there's no explicit XGETBV1 check before calling
> xfeatures_in_use(). But, I don't really expect the AMX->XGETBV1
> dependency to go away either.
Yes, as long as AMX is wanted as a dynamic feature I think.
Thanks,
Chang
Powered by blists - more mailing lists