Received: by 2002:a05:6a10:16a7:0:0:0:0 with SMTP id gp39csp4231382pxb; Tue, 17 Nov 2020 15:13:57 -0800 (PST) X-Google-Smtp-Source: ABdhPJwV/ljMBk1pRFp6RWfRd9WDEUbA8Wdk51sogr9qS/ntb6ErhJKEITlePwwgSl0JTAGPjvS3 X-Received: by 2002:a17:906:4712:: with SMTP id y18mr20886055ejq.51.1605654837713; Tue, 17 Nov 2020 15:13:57 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1605654837; cv=none; d=google.com; s=arc-20160816; b=t0j1uY+aZQU1mjW0/V2qdKsoCtKmwFtrmvJy49UlRab0rAgdtJiNYxWjjpJGIBonDS dtOqyBKBcdn+Q6sVyddAnEZK04DcVKViA0BmizI1HV3BEj/v3injg2VuDYWxrxaIKOL+ 4MHQpixbglT0u5R5aXhWZHp2TTrH2StlF1YrwqiX4FLfI+3Mm+I8V81WfiTwLFmXwymJ wFjVLjm9+2mBTbeskEN3SldbjXQr+rkYm7O4asF30F4OVH+QzEYEX9/2fX10imhwngtL RDCeOKVOAjgHncyq7BT4qnXPaY50N86WmgkUBBtKKVAePaHDM1FydcBbr8Q7DgYfrA1D lMrw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:content-language :in-reply-to:mime-version:user-agent:date:message-id:from:references :cc:to:subject:ironport-sdr:ironport-sdr; bh=zs3ehiH/OObK3YT2V+aBPRE3IWbtDoYxy9dBGU6JLCE=; b=OLN/ZaXgkxeQbas3tBnJlxA+OlmzmtSK5UsvvVMke7a16Caszf8B8gVCj2V7ANwwMH WydIhSo7j3CqksaUixBPqUEMdcljrovEwF8grT+b0SM1htt2lGM8EGCXoFtNb+aVXCU7 ApHSh9vLBlaZiRHT6n+p489uKq5vFhnmmOF88YPfNzALDSUtorAlRi1E+K5/+B3fdxdY 4NvYj2hwuJoamztOqQQh4+yfQ/UhU8+E4yx2Bcz6w2cyivIC2MfC3dO5751Vw1Ie8kLV T8e2+Lf7ELs5n0QtNBeMf+IB5RDl8TpRTwvPN1Q5jOOo05lv1fWTIOTD/niSDYW4Q9ER akog== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id f19si14041494ejh.370.2020.11.17.15.13.34; Tue, 17 Nov 2020 15:13:57 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726315AbgKQXLY (ORCPT + 99 others); Tue, 17 Nov 2020 18:11:24 -0500 Received: from mga06.intel.com ([134.134.136.31]:32122 "EHLO mga06.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726107AbgKQXLX (ORCPT ); Tue, 17 Nov 2020 18:11:23 -0500 IronPort-SDR: d2k06afAQHYlUatZ78j9ITqA81Rbyz7kXd4RpFVdEtasjYmb5c+CDI/FKyQA1n0A5rHw4Nmynq 35UcR4cLFI7Q== X-IronPort-AV: E=McAfee;i="6000,8403,9808"; a="232644976" X-IronPort-AV: E=Sophos;i="5.77,486,1596524400"; d="scan'208";a="232644976" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga001.fm.intel.com ([10.253.24.23]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Nov 2020 15:11:22 -0800 IronPort-SDR: UPCBrw9Tcn8BFG9ICLlXNq//adbTskYIKSWl1ilK9tY37MF9hjwPulGOHA6t06/6OaJVvBfrgn Jycu2zjKM0LA== X-IronPort-AV: E=Sophos;i="5.77,486,1596524400"; d="scan'208";a="430615596" Received: from rchatre-mobl3.amr.corp.intel.com (HELO [10.212.24.101]) ([10.212.24.101]) by fmsmga001-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Nov 2020 15:11:22 -0800 Subject: Re: [PATCH 10/24] x86/resctrl: Move the schema names into struct resctrl_schema To: James Morse , x86@kernel.org, linux-kernel@vger.kernel.org Cc: Fenghua Yu , Thomas Gleixner , Ingo Molnar , Borislav Petkov , shameerali.kolothum.thodi@huawei.com, Jamie Iles , D Scott Phillips OS References: <20201030161120.227225-1-james.morse@arm.com> <20201030161120.227225-11-james.morse@arm.com> From: Reinette Chatre Message-ID: <30449b04-c5c8-9790-f36f-5843efdd2924@intel.com> Date: Tue, 17 Nov 2020 15:11:21 -0800 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.4.3 MIME-Version: 1.0 In-Reply-To: <20201030161120.227225-11-james.morse@arm.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi James, On 10/30/2020 9:11 AM, James Morse wrote: > Move the names used for the schemata file out of the resource and > into struct resctrl_schema. This allows one resource to have two > different names, based on the other schema properties. > > This patch copies the names, eventually resctrl will generate them. Please remove "This patch". > > Remove the arch code's max_name_width, this is now resctrl's > problem. > > Signed-off-by: James Morse > --- > arch/x86/kernel/cpu/resctrl/core.c | 9 ++------- > arch/x86/kernel/cpu/resctrl/ctrlmondata.c | 10 +++------- > arch/x86/kernel/cpu/resctrl/internal.h | 2 +- > arch/x86/kernel/cpu/resctrl/rdtgroup.c | 17 ++++++++++++----- > include/linux/resctrl.h | 7 +++++++ > 5 files changed, 25 insertions(+), 20 deletions(-) > > diff --git a/arch/x86/kernel/cpu/resctrl/core.c b/arch/x86/kernel/cpu/resctrl/core.c > index 1ed5e04031e6..cda071009fed 100644 > --- a/arch/x86/kernel/cpu/resctrl/core.c > +++ b/arch/x86/kernel/cpu/resctrl/core.c > @@ -37,10 +37,10 @@ DEFINE_MUTEX(rdtgroup_mutex); > DEFINE_PER_CPU(struct resctrl_pqr_state, pqr_state); > > /* > - * Used to store the max resource name width and max resource data width > + * Used to store the max resource data width > * to display the schemata in a tabular format > */ > -int max_name_width, max_data_width; > +int max_data_width; > > /* > * Global boolean for rdt_alloc which is true if any > @@ -776,13 +776,8 @@ static int resctrl_offline_cpu(unsigned int cpu) > static __init void rdt_init_padding(void) > { > struct rdt_resource *r; > - int cl; > > for_each_alloc_capable_rdt_resource(r) { > - cl = strlen(r->name); > - if (cl > max_name_width) > - max_name_width = cl; > - > if (r->data_width > max_data_width) > max_data_width = r->data_width; > } The original code determines the maximum width based on resources supported by the platform. > diff --git a/arch/x86/kernel/cpu/resctrl/ctrlmondata.c b/arch/x86/kernel/cpu/resctrl/ctrlmondata.c > index a65ff53394ed..28d69c78c29e 100644 > --- a/arch/x86/kernel/cpu/resctrl/ctrlmondata.c > +++ b/arch/x86/kernel/cpu/resctrl/ctrlmondata.c ... > @@ -391,7 +389,7 @@ static void show_doms(struct seq_file *s, struct resctrl_schema *schema, int clo > bool sep = false; > u32 ctrl_val; > > - seq_printf(s, "%*s:", max_name_width, r->name); > + seq_printf(s, "%*s:", RESCTRL_NAME_LEN, schema->name); From what I understand this changes what some users will see. In the original code the "max_name_width" is computed based on the maximum length of resources supported. Systems that only support MBA would thus show a schemata of: MB:0=100;1=100 I expect the above change would change the output to: MB:0=100;1=100 > list_for_each_entry(dom, &r->domains, list) { > hw_dom = resctrl_to_arch_dom(dom); > if (sep) ... > diff --git a/include/linux/resctrl.h b/include/linux/resctrl.h > index 8a12f4128209..9f71f0238239 100644 > --- a/include/linux/resctrl.h > +++ b/include/linux/resctrl.h > @@ -15,6 +15,11 @@ int proc_resctrl_show(struct seq_file *m, > > #endif > > +/* > + * The longest name we expect in the schemata file: > + */ > +#define RESCTRL_NAME_LEN 7 > + > enum resctrl_conf_type { > CDP_BOTH, > CDP_CODE, > @@ -172,12 +177,14 @@ struct rdt_resource { > > /** > * @list: Member of resctrl's schema list > + * @names: Name to use in "schemata" file s/names/name/? > * @conf_type: Type of configuration, e.g. code/data/both > * @res: The rdt_resource for this entry > * @num_closid Number of CLOSIDs available for this resource > */ > struct resctrl_schema { > struct list_head list; > + char name[RESCTRL_NAME_LEN]; > enum resctrl_conf_type conf_type; > struct rdt_resource *res; > u32 num_closid; > Reinette