[AMD Official Use Only - General] > -----Original Message----- > From: Reinette Chatre <reinette.chatre@xxxxxxxxx> > Sent: Friday, September 16, 2022 10:53 AM > To: Moger, Babu <Babu.Moger@xxxxxxx>; corbet@xxxxxxx; > tglx@xxxxxxxxxxxxx; mingo@xxxxxxxxxx; bp@xxxxxxxxx > Cc: fenghua.yu@xxxxxxxxx; dave.hansen@xxxxxxxxxxxxxxx; x86@xxxxxxxxxx; > hpa@xxxxxxxxx; paulmck@xxxxxxxxxx; akpm@xxxxxxxxxxxxxxxxxxxx; > quic_neeraju@xxxxxxxxxxx; rdunlap@xxxxxxxxxxxxx; > damien.lemoal@xxxxxxxxxxxxxxxxxx; songmuchun@xxxxxxxxxxxxx; > peterz@xxxxxxxxxxxxx; jpoimboe@xxxxxxxxxx; pbonzini@xxxxxxxxxx; > chang.seok.bae@xxxxxxxxx; pawan.kumar.gupta@xxxxxxxxxxxxxxx; > jmattson@xxxxxxxxxx; daniel.sneddon@xxxxxxxxxxxxxxx; Das1, Sandipan > <Sandipan.Das@xxxxxxx>; tony.luck@xxxxxxxxx; james.morse@xxxxxxx; > linux-doc@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; > bagasdotme@xxxxxxxxx; eranian@xxxxxxxxxx > Subject: Re: [PATCH v4 01/13] x86/resctrl: Fix min_cbm_bits for AMD > > Hi Babu, > > On 9/7/2022 10:59 AM, Babu Moger wrote: > > AMD systems support zero CBM (capacity bit mask) for L3 allocation. > > Above mentions "for L3 allocation", but the change impacts > L3 as well as L2 allocation. Perhaps just "cache allocation"? > > > That is reflected in rdt_init_res_defs_amd() by: > > > > r->cache.arch_has_empty_bitmaps = true; > > > > However given the unified code in cbm_validate(), checking for: > > val == 0 && !arch_has_empty_bitmaps > > > > is not enough because of another check in cbm_validate(): > > > > if ((zero_bit - first_bit) < r->cache.min_cbm_bits) > > > > The default value of r->cache.min_cbm_bits = 1. > > > > Leading to: > > > > $ cd /sys/fs/resctrl > > $ mkdir foo > > $ cd foo > > $ echo L3:0=0 > schemata > > -bash: echo: write error: Invalid argument > > $ cat /sys/fs/resctrl/info/last_cmd_status > > Need at least 1 bits in the mask > > > > Fix the issue by initializing the min_cbm_bits to 0 for AMD. Also, > > remove the default setting of min_cbm_bits and initialize it separately. > > > > After the fix > > $ cd /sys/fs/resctrl > > $ mkdir foo > > $ cd foo > > $ echo L3:0=0 > schemata > > $ cat /sys/fs/resctrl/info/last_cmd_status > > ok > > > > Link: > > https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Flore > > .kernel.org%2Flkml%2F20220517001234.3137157-1- > eranian%40google.com%2F& > > > amp;data=05%7C01%7Cbabu.moger%40amd.com%7Cfdccc20e6a234fb3872a0 > 8da97fb > > > 94fc%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C6379894040498 > 44076%7 > > > CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI > 6Ik1 > > > haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=DIpkBAkI7lAjj5QQ4 > 5VahssT > > dWGj%2FcUwGJDiHXNYzz8%3D&reserved=0 > > Fixes: 316e7f901f5a ("x86/resctrl: Add struct > > rdt_cache::arch_has_{sparse, empty}_bitmaps") > > Signed-off-by: Stephane Eranian <eranian@xxxxxxxxxx> > > Signed-off-by: Babu Moger <babu.moger@xxxxxxx> > > Reviewed-by: Ingo Molnar <mingo@xxxxxxxxxx> > > (apart from the changelog nitpick) > > Thank you for clarifying the way forward for this fix. > > Reviewed-by: Reinette Chatre <reinette.chatre@xxxxxxxxx> Thank you Babu Moger