[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <7b73c07a-c229-9d95-7069-7d80df465ffb@intel.com>
Date: Tue, 12 Sep 2023 09:13:45 -0700
From: Reinette Chatre <reinette.chatre@...el.com>
To: Maciej Wieczór-Retman
<maciej.wieczor-retman@...el.com>
CC: Fenghua Yu <fenghua.yu@...el.com>,
Thomas Gleixner <tglx@...utronix.de>,
Ingo Molnar <mingo@...hat.com>, Borislav Petkov <bp@...en8.de>,
Dave Hansen <dave.hansen@...ux.intel.com>, <x86@...nel.org>,
"H. Peter Anvin" <hpa@...or.com>, <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH 1/3] x86/resctrl: Enable non-contiguous bits in Intel CAT
Hi Maciej,
On 9/11/2023 11:53 PM, Maciej Wieczór-Retman wrote:
> On 2023-09-11 at 13:05:16 -0700, Reinette Chatre wrote:
>> Hi Maciej,
>>> diff --git a/arch/x86/kernel/cpu/resctrl/ctrlmondata.c b/arch/x86/kernel/cpu/resctrl/ctrlmondata.c
>>> index b44c487727d4..782e2700290b 100644
>>> --- a/arch/x86/kernel/cpu/resctrl/ctrlmondata.c
>>> +++ b/arch/x86/kernel/cpu/resctrl/ctrlmondata.c
>>> @@ -87,10 +87,13 @@ int parse_bw(struct rdt_parse_data *data, struct resctrl_schema *s,
>>>
>>> /*
>>> * Check whether a cache bit mask is valid.
>>> - * For Intel the SDM says:
>>> - * Please note that all (and only) contiguous '1' combinations
>>> - * are allowed (e.g. FFFFH, 0FF0H, 003CH, etc.).
>>> - * Additionally Haswell requires at least two bits set.
>>> + * On Intel CPUs, non-contiguous 1s value support is indicated by CPUID:
>>> + * - CPUID.0x10.1:ECX[3]: L3 non-contiguous 1s value supported if 1
>>> + * - CPUID.0x10.2:ECX[3]: L2 non-contiguous 1s value supported if 1
>>> + *
>>> + * Additionally Haswell requires at least two bits set. Since it does not
>>> + * have CPUID enumeration support for Cache allocation the non-contiguous 1s
>>> + * value support is disabled.
>>
>> The second sentence can be misinterpreted. non-contiguous 1s value support is
>> disabled on Haswell because Haswell does not support non-contiguous 1s value,
>> not because it does not have CPUID enumeration for RDT.
>
> Would phrasing it like this:
>
> + * Additionally Haswell requires at least two bits set. Since it does not
> + * allow the non-contiguous 1s for cache allocation the support is
> + * hardcoded to disabled.
>
> be more sensible?
>
I think the above would be sensible as a comment of cache_alloc_hsw_probe()
where the support is hardcoded but here the comment is just used to summarize
what the hardware supports.
Maybe just something like:
Haswell does not support a non-contiguous 1s value and additionally
requires at least two bits set.
Reinette
Powered by blists - more mailing lists