Re: [PATCH v3 06/18] x86/intel_rdt: Add CONFIG, Makefile, and basic initialization

From: Borislav Petkov
Date: Sat Oct 08 2016 - 16:57:40 EST


On Fri, Oct 07, 2016 at 07:45:51PM -0700, Fenghua Yu wrote:
> From: Fenghua Yu <fenghua.yu@xxxxxxxxx>
>
> Introduce CONFIG_INTEL_RDT (default: no, dependent on X86 and
> CPU_SUP_INTEL) to control inclusion of Resource Director Technology in
> the build.
>
> Simple init() routine just checks which features are present. If they are
> pr_info() one line summary for each feature.
>
> Signed-off-by: Fenghua Yu <fenghua.yu@xxxxxxxxx>
> Signed-off-by: Tony Luck <tony.luck@xxxxxxxxx>
> ---
> arch/x86/Kconfig | 12 +++++++++
> arch/x86/kernel/cpu/Makefile | 2 ++
> arch/x86/kernel/cpu/intel_rdt.c | 56 +++++++++++++++++++++++++++++++++++++++++
> 3 files changed, 70 insertions(+)
> create mode 100644 arch/x86/kernel/cpu/intel_rdt.c

...

> +static inline bool get_rdt_resources(struct cpuinfo_x86 *c)
> +{
> + bool ret = false;
> +
> + if (!cpu_has(c, X86_FEATURE_RDT_A))
> + return false;
> + if (cpu_has(c, X86_FEATURE_CAT_L3))
> + ret = true;
> +
> + return ret;
> +}
> +
> +static int __init intel_rdt_late_init(void)
> +{
> + struct cpuinfo_x86 *c = &boot_cpu_data;

No need for that - you can do directly

if (boot_cpu_has(...))

in get_rdt_resources() and here.

> +
> + if (!get_rdt_resources(c))
> + return -ENODEV;
> +
> + pr_info("Intel cache allocation detected\n");

So this reads stupid: Intel cache allocation? Reads like Intel can do
cache allocation. But it does already, even before that RDT stuff.

So you need to think of a more sensible name for it: "Intel cache
partitioning support detected" or some descriptive name which actually
denotes what the technology is.

Everybody can allocate lines in the cache :)

> + if (cpu_has(c, X86_FEATURE_CDP_L3))
> + pr_info("Intel code data prioritization detected\n");

Ditto.

--
Regards/Gruss,
Boris.

SUSE Linux GmbH, GF: Felix ImendÃrffer, Jane Smithard, Graham Norton, HRB 21284 (AG NÃrnberg)
--