From: Fenghua Yu <fenghua.yu@intel.com>
To: Amit Singh Tomar <amitsinght@marvell.com>,
<linux-kernel@vger.kernel.org>,
<linux-arm-kernel@lists.infradead.org>
Cc: <reinette.chatre@intel.com>, <james.morse@arm.com>,
<gcherian@marvell.com>, <robh@kernel.org>,
<peternewman@google.com>
Subject: Re: [RFC 06/12] fs/resctrl: Extend schemata read for priority partition control
Date: Thu, 17 Aug 2023 10:42:58 -0700 [thread overview]
Message-ID: <c9466b46-6a03-e57b-4b8c-edeae8081951@intel.com> (raw)
In-Reply-To: <20230815152712.1760046-7-amitsinght@marvell.com>
Hi, Amit,
On 8/15/23 08:27, Amit Singh Tomar wrote:
> At present, "schemata" file under resource control group reveals
> information about Cache portion bitmap and Memory Bandwidth allocation.
> With the introduction of priority partition control "schemata" is updated
> to adopt priority value.
>
> Let's enable support for reading the priority values for "schemata" file.
>
> Signed-off-by: Amit Singh Tomar <amitsinght@marvell.com>
> ---
> drivers/platform/mpam/mpam_resctrl.c | 4 ++++
> fs/resctrl/ctrlmondata.c | 15 ++++++++++++---
> include/linux/resctrl.h | 4 ++++
> 3 files changed, 20 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/platform/mpam/mpam_resctrl.c b/drivers/platform/mpam/mpam_resctrl.c
> index cc843f1b0fb7..b491a0f897fd 100644
> --- a/drivers/platform/mpam/mpam_resctrl.c
> +++ b/drivers/platform/mpam/mpam_resctrl.c
> @@ -735,7 +735,11 @@ static int mpam_resctrl_resource_init(struct mpam_resctrl_res *res)
>
> if (has_ppart) {
> r->priority_cap = true;
> + if (class->props.dspri_wd > 0x10)
> + class->props.dspri_wd = 0x10;
> +
> r->dspri_default_ctrl = BIT_MASK(class->props.dspri_wd) - 1;
> + r->dspri_data_width = (class->props.dspri_wd + 3) / 4;
> }
>
> /*
> diff --git a/fs/resctrl/ctrlmondata.c b/fs/resctrl/ctrlmondata.c
> index b19ac2509e38..8c8a4d09d22c 100644
> --- a/fs/resctrl/ctrlmondata.c
> +++ b/fs/resctrl/ctrlmondata.c
> @@ -379,7 +379,7 @@ static void show_doms(struct seq_file *s, struct resctrl_schema *schema, int clo
> struct rdt_resource *r = schema->res;
> struct rdt_domain *dom;
> bool sep = false;
> - u32 ctrl_val;
> + u32 ctrl_val, dspri_ctrl_val;
>
> /* Walking r->domains, ensure it can't race with cpuhp */
> lockdep_assert_cpus_held();
> @@ -395,9 +395,18 @@ static void show_doms(struct seq_file *s, struct resctrl_schema *schema, int clo
> ctrl_val = resctrl_arch_get_config(r, dom, closid,
> schema->conf_type);
>
> - seq_printf(s, r->format_str, dom->id, max_data_width,
> - ctrl_val);
> + if (r->priority_cap) {
> + r->dspri_show = true;
> + dspri_ctrl_val = resctrl_arch_get_config(r, dom, closid,
> + CDP_NONE);
> + seq_printf(s, r->format_str, dom->id, max_data_width, ctrl_val,
> + r->dspri_data_width, dspri_ctrl_val);
Move r->dspri_show = false to here.
> + } else
> + seq_printf(s, r->format_str, dom->id, max_data_width,
> + ctrl_val);
> +
> sep = true;
> + r->dspri_show = false;
dspri_show is irrelevant without priority_cap.
> }
> seq_puts(s, "\n");
> }
> diff --git a/include/linux/resctrl.h b/include/linux/resctrl.h
> index d5b0661c0f70..d7100c330945 100644
> --- a/include/linux/resctrl.h
> +++ b/include/linux/resctrl.h
> @@ -199,12 +199,14 @@ struct resctrl_membw {
> * @mon_capable: Is monitor feature available on this machine
> * @priority_capable: Is priority partitioning feature available on this machine
> * @dspri_store:
> + * @dspri_show: flag to indicate downstream priority read
> * @num_rmid: Number of RMIDs available
> * @cache_level: Which cache level defines scope of this resource
> * @cache: Cache allocation related data
> * @membw: If the component has bandwidth controls, their properties.
> * @domains: RCU list of all domains for this resource
> * @name: Name to use in "schemata" file.
> + * @dspri_data_width Character width of dspri value when displaying
> * @data_width: Character width of data when displaying
> * @default_ctrl: Specifies default cache cbm or memory B/W percent.
> * @dspri_default_ctrl: Specifies default downstream priority value.
> @@ -219,6 +221,7 @@ struct rdt_resource {
> bool mon_capable;
> bool priority_cap;
> bool dspri_store;
> + bool dspri_show;
> int num_rmid;
> int cache_level;
> struct resctrl_cache cache;
> @@ -226,6 +229,7 @@ struct rdt_resource {
> struct list_head domains;
> char *name;
> int data_width;
> + int dspri_data_width;
> u32 default_ctrl;
> u32 dspri_default_ctrl;
> const char *format_str;
Thanks.
-Fenghua
next prev parent reply other threads:[~2023-08-17 17:43 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-08-15 15:27 [RFC 00/12] ARM: MPAM: add support for priority partitioning control Amit Singh Tomar
2023-08-15 15:27 ` [RFC 01/12] arm_mpam: Handle resource instances mapped to different controls Amit Singh Tomar
2023-09-01 12:39 ` Jonathan Cameron
2023-08-15 15:27 ` [RFC 02/12] arm_mpam: resctrl: Detect priority partitioning capability Amit Singh Tomar
2023-09-01 12:30 ` Jonathan Cameron
2023-08-15 15:27 ` [RFC 03/12] arm_mpam: resctrl: Define new schemata format for priority partition Amit Singh Tomar
2023-08-15 15:27 ` [RFC 04/12] fs/resctrl: Obtain CPBM upon priority partition presence Amit Singh Tomar
2023-08-15 15:27 ` [RFC 05/12] fs/resctrl: Set-up downstream priority partition resources Amit Singh Tomar
2023-08-17 17:39 ` Fenghua Yu
2023-08-15 15:27 ` [RFC 06/12] fs/resctrl: Extend schemata read for priority partition control Amit Singh Tomar
2023-08-17 17:42 ` Fenghua Yu [this message]
2023-08-15 15:27 ` [RFC 07/12] arm_mpam: resctrl: Retrieve priority values from arch code Amit Singh Tomar
2023-08-15 15:27 ` [RFC 08/12] fs/resctrl: Schemata write only for intended resource Amit Singh Tomar
2023-08-15 15:27 ` [RFC 09/12] fs/resctrl: Extend schemata write for priority partition control Amit Singh Tomar
2023-08-17 17:27 ` Fenghua Yu
2023-08-17 17:53 ` Fenghua Yu
2023-08-15 15:27 ` [RFC 10/12] arm_mpam: resctrl: Facilitate writing downstream priority value Amit Singh Tomar
2023-08-15 15:27 ` [RFC 11/12] arm_mpam: Fix Downstream priority mask Amit Singh Tomar
2023-09-01 13:32 ` Jonathan Cameron
2023-08-15 15:27 ` [RFC 12/12] arm_mpam: Program Downstream priority value Amit Singh Tomar
2023-09-01 13:17 ` Jonathan Cameron
2023-08-17 19:11 ` [RFC 00/12] ARM: MPAM: add support for priority partitioning control Reinette Chatre
2023-08-17 20:29 ` Reinette Chatre
2023-08-22 12:44 ` [EXT] " Amit Singh Tomar
2023-08-23 19:06 ` Reinette Chatre
2023-08-23 21:33 ` Amit Singh Tomar
2023-08-23 22:20 ` Reinette Chatre
2023-08-23 22:36 ` Luck, Tony
2023-08-24 8:52 ` Amit Singh Tomar
2023-08-24 15:30 ` Luck, Tony
2023-08-24 18:00 ` Reinette Chatre
2024-01-11 20:56 ` Peter Newman
2024-01-11 21:40 ` Tony Luck
2024-01-11 22:01 ` Reinette Chatre
2024-01-11 23:14 ` Luck, Tony
2024-01-11 23:31 ` Reinette Chatre
2023-08-22 9:01 ` Peter Newman
2023-09-01 14:42 ` Jonathan Cameron
2023-09-01 15:04 ` Jonathan Cameron
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=c9466b46-6a03-e57b-4b8c-edeae8081951@intel.com \
--to=fenghua.yu@intel.com \
--cc=amitsinght@marvell.com \
--cc=gcherian@marvell.com \
--cc=james.morse@arm.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=peternewman@google.com \
--cc=reinette.chatre@intel.com \
--cc=robh@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®