|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH v2 09/15] x86: Out-of-inline the policy<->featureset convertors
On 04.04.2023 11:52, Andrew Cooper wrote:
> These are already getting over-large for being inline functions, and are only
> going to grow more over time. Out of line them, yielding the following net
> delta from bloat-o-meter:
>
> add/remove: 2/0 grow/shrink: 0/4 up/down: 276/-1877 (-1601)
>
> Switch to the newer cpu_policy terminology while doing so.
>
> Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
Acked-by: Jan Beulich <jbeulich@xxxxxxxx>
I take it you have a reason to ...
> --- a/xen/lib/x86/cpuid.c
> +++ b/xen/lib/x86/cpuid.c
> @@ -60,6 +60,48 @@ const char *x86_cpuid_vendor_to_str(unsigned int vendor)
> }
> }
>
> +void x86_cpu_policy_to_featureset(
> + const struct cpu_policy *p, uint32_t fs[FEATURESET_NR_ENTRIES])
> +{
> + fs[FEATURESET_1d] = p->basic._1d;
> + fs[FEATURESET_1c] = p->basic._1c;
> + fs[FEATURESET_e1d] = p->extd.e1d;
> + fs[FEATURESET_e1c] = p->extd.e1c;
> + fs[FEATURESET_Da1] = p->xstate.Da1;
> + fs[FEATURESET_7b0] = p->feat._7b0;
> + fs[FEATURESET_7c0] = p->feat._7c0;
> + fs[FEATURESET_e7d] = p->extd.e7d;
> + fs[FEATURESET_e8b] = p->extd.e8b;
> + fs[FEATURESET_7d0] = p->feat._7d0;
> + fs[FEATURESET_7a1] = p->feat._7a1;
> + fs[FEATURESET_e21a] = p->extd.e21a;
> + fs[FEATURESET_7b1] = p->feat._7b1;
> + fs[FEATURESET_7d2] = p->feat._7d2;
> + fs[FEATURESET_7c1] = p->feat._7c1;
> + fs[FEATURESET_7d1] = p->feat._7d1;
> +}
> +
> +void x86_cpu_featureset_to_policy(
> + const uint32_t fs[FEATURESET_NR_ENTRIES], struct cpu_policy *p)
> +{
> + p->basic._1d = fs[FEATURESET_1d];
> + p->basic._1c = fs[FEATURESET_1c];
> + p->extd.e1d = fs[FEATURESET_e1d];
> + p->extd.e1c = fs[FEATURESET_e1c];
> + p->xstate.Da1 = fs[FEATURESET_Da1];
> + p->feat._7b0 = fs[FEATURESET_7b0];
> + p->feat._7c0 = fs[FEATURESET_7c0];
> + p->extd.e7d = fs[FEATURESET_e7d];
> + p->extd.e8b = fs[FEATURESET_e8b];
> + p->feat._7d0 = fs[FEATURESET_7d0];
> + p->feat._7a1 = fs[FEATURESET_7a1];
> + p->extd.e21a = fs[FEATURESET_e21a];
> + p->feat._7b1 = fs[FEATURESET_7b1];
> + p->feat._7d2 = fs[FEATURESET_7d2];
> + p->feat._7c1 = fs[FEATURESET_7c1];
> + p->feat._7d1 = fs[FEATURESET_7d1];
> +}
... add quite a few padding blanks in here, unlike in the originals?
Jan
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |