[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <44ce43de-b6d9-cfbf-b991-0b7cfd819d39@amd.com>
Date: Tue, 19 Oct 2021 18:18:08 -0500
From: Babu Moger <babu.moger@....com>
To: James Morse <james.morse@....com>, x86@...nel.org,
linux-kernel@...r.kernel.org
Cc: Fenghua Yu <fenghua.yu@...el.com>,
Reinette Chatre <reinette.chatre@...el.com>,
Thomas Gleixner <tglx@...utronix.de>,
Ingo Molnar <mingo@...hat.com>, Borislav Petkov <bp@...en8.de>,
H Peter Anvin <hpa@...or.com>,
shameerali.kolothum.thodi@...wei.com,
Jamie Iles <jamie@...iainc.com>,
D Scott Phillips OS <scott@...amperecomputing.com>,
lcherian@...vell.com, bobo.shaobowang@...wei.com,
tan.shaopeng@...itsu.com
Subject: Re: [PATCH v2 04/23] x86/resctrl: Merge mon_capable and mon_enabled
Hi James,
On 10/1/21 11:02 AM, James Morse wrote:
> mon_enabled and mon_capable are always set as a pair by
> rdt_get_mon_l3_config().
>
> There is no point having two values.
>
> Merge them together.
>
> Signed-off-by: James Morse <james.morse@....com>
> ---
> Changes since v1:
> * Removed stray cdp_capable changes.
> ---
> arch/x86/kernel/cpu/resctrl/internal.h | 4 ----
> arch/x86/kernel/cpu/resctrl/monitor.c | 1 -
> arch/x86/kernel/cpu/resctrl/rdtgroup.c | 8 ++++----
> include/linux/resctrl.h | 2 --
> 4 files changed, 4 insertions(+), 11 deletions(-)
>
> diff --git a/arch/x86/kernel/cpu/resctrl/internal.h b/arch/x86/kernel/cpu/resctrl/internal.h
> index 53f3d275a98f..8828b5c1b6d2 100644
> --- a/arch/x86/kernel/cpu/resctrl/internal.h
> +++ b/arch/x86/kernel/cpu/resctrl/internal.h
> @@ -459,10 +459,6 @@ int resctrl_arch_set_cdp_enabled(enum resctrl_res_level l, bool enable);
> for_each_rdt_resource(r) \
> if (r->mon_capable)
>
> -#define for_each_mon_enabled_rdt_resource(r) \
> - for_each_rdt_resource(r) \
> - if (r->mon_enabled)
> -
> /* CPUID.(EAX=10H, ECX=ResID=1).EAX */
> union cpuid_0x10_1_eax {
> struct {
> diff --git a/arch/x86/kernel/cpu/resctrl/monitor.c b/arch/x86/kernel/cpu/resctrl/monitor.c
> index c9f0f3d63f75..37af1790337f 100644
> --- a/arch/x86/kernel/cpu/resctrl/monitor.c
> +++ b/arch/x86/kernel/cpu/resctrl/monitor.c
> @@ -717,7 +717,6 @@ int rdt_get_mon_l3_config(struct rdt_resource *r)
> l3_mon_evt_init(r);
>
> r->mon_capable = true;
> - r->mon_enabled = true;
>
> return 0;
> }
> diff --git a/arch/x86/kernel/cpu/resctrl/rdtgroup.c b/arch/x86/kernel/cpu/resctrl/rdtgroup.c
> index e327f8d1c8a3..e243c7d15b81 100644
> --- a/arch/x86/kernel/cpu/resctrl/rdtgroup.c
> +++ b/arch/x86/kernel/cpu/resctrl/rdtgroup.c
> @@ -1765,7 +1765,7 @@ static int rdtgroup_create_info_dir(struct kernfs_node *parent_kn)
> goto out_destroy;
> }
>
> - for_each_mon_enabled_rdt_resource(r) {
> + for_each_mon_capable_rdt_resource(r) {
> fflags = r->fflags | RF_MON_INFO;
> sprintf(name, "%s_MON", r->name);
> ret = rdtgroup_mkdir_info_resdir(r, name, fflags);
> @@ -2504,7 +2504,7 @@ void rmdir_mondata_subdir_allrdtgrp(struct rdt_resource *r, unsigned int dom_id)
> struct rdtgroup *prgrp, *crgrp;
> char name[32];
>
> - if (!r->mon_enabled)
> + if (!r->mon_capable)
> return;
>
> list_for_each_entry(prgrp, &rdt_all_groups, rdtgroup_list) {
> @@ -2572,7 +2572,7 @@ void mkdir_mondata_subdir_allrdtgrp(struct rdt_resource *r,
> struct rdtgroup *prgrp, *crgrp;
> struct list_head *head;
>
> - if (!r->mon_enabled)
> + if (!r->mon_capable)
> return;
>
> list_for_each_entry(prgrp, &rdt_all_groups, rdtgroup_list) {
> @@ -2642,7 +2642,7 @@ static int mkdir_mondata_all(struct kernfs_node *parent_kn,
> * Create the subdirectories for each domain. Note that all events
> * in a domain like L3 are grouped into a resource whose domain is L3
> */
> - for_each_mon_enabled_rdt_resource(r) {
> + for_each_mon_capable_rdt_resource(r) {
> ret = mkdir_mondata_subdir_alldom(kn, r, prgrp);
> if (ret)
> goto out_destroy;
> diff --git a/include/linux/resctrl.h b/include/linux/resctrl.h
> index 386ab3a41500..8180c539800d 100644
> --- a/include/linux/resctrl.h
> +++ b/include/linux/resctrl.h
> @@ -130,7 +130,6 @@ struct resctrl_schema;
> /**
> * struct rdt_resource - attributes of a resctrl resource
> * @rid: The index of the resource
> - * @mon_enabled: Is monitoring enabled for this feature
> * @alloc_capable: Is allocation available on this machine
> * @mon_capable: Is monitor feature available on this machine
> * @num_rmid: Number of RMIDs available
> @@ -149,7 +148,6 @@ struct resctrl_schema;
> */
> struct rdt_resource {
> int rid;
> - bool mon_enabled;
> bool alloc_capable;
> bool mon_capable;
Also we should probably rename alloc_capable and mon_capable to
alloc_supported and mon_supported respectively. We dont have an option to
enable and disable these feature. If it is supported, it is always supported.
Thanks
Babu
Powered by blists - more mailing lists