mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: "Moger, Babu" <babu.moger@amd.com>
To: Fenghua Yu <fenghua.yu@intel.com>,
	corbet@lwn.net, reinette.chatre@intel.com, tglx@linutronix.de,
	mingo@redhat.com, bp@alien8.de
Cc: dave.hansen@linux.intel.com, x86@kernel.org, hpa@zytor.com,
	paulmck@kernel.org, akpm@linux-foundation.org,
	quic_neeraju@quicinc.com, rdunlap@infradead.org,
	damien.lemoal@opensource.wdc.com, songmuchun@bytedance.com,
	peterz@infradead.org, jpoimboe@kernel.org, pbonzini@redhat.com,
	chang.seok.bae@intel.com, pawan.kumar.gupta@linux.intel.com,
	jmattson@google.com, daniel.sneddon@linux.intel.com,
	sandipan.das@amd.com, tony.luck@intel.com, james.morse@arm.com,
	linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org,
	bagasdotme@gmail.com, eranian@google.com,
	christophe.leroy@csgroup.eu, jarkko@kernel.org,
	adrian.hunter@intel.com, quic_jiles@quicinc.com,
	peternewman@google.com
Subject: Re: [PATCH v9 9/9] x86/resctrl: Display RMID of resource group
Date: Tue, 12 Sep 2023 12:18:17 -0500	[thread overview]
Message-ID: <fa4c4cad-cc21-fe55-fafa-4afe12bd195d@amd.com> (raw)
In-Reply-To: <f4458988-1b3c-92a6-d628-4154a15bbb74@intel.com>

Hi Fenghua,

On 9/11/23 13:14, Fenghua Yu wrote:
> Hi, Babu,
> 
> On 9/7/23 16:51, Babu Moger wrote:
>> In x86, hardware uses RMID to identify a a monitoring group. When a
> 
> s/a a/a/

Sure.
Thanks for the review. Reinette has already addressed other comments.
Thanks
Babu

> 
>> user creates a monitor group these details are not visible. These details
>> can help resctrl debugging.
>>
>> Add RMID(mon_hw_id) to the monitor groups display in resctrl interface.
>> Users can see these details when resctrl is mounted with "-o debug" option.
>>
>> Other architectures do not use "RMID". Use the name mon_hw_id to refer
>> to "RMID" in an effort to keep the naming generic.
>>
>> Add the flag RFTYPE_MON_BASE, which contains the files required only
>> for the MON group.
>>
>> For example:
>>   $cat /sys/fs/resctrl/mon_groups/mon_grp1/mon_hw_id
>>   3
>>
>> Signed-off-by: Babu Moger <babu.moger@amd.com>
>> ---
>>   Documentation/arch/x86/resctrl.rst     |  4 +++
>>   arch/x86/kernel/cpu/resctrl/internal.h |  6 ++++
>>   arch/x86/kernel/cpu/resctrl/rdtgroup.c | 38 +++++++++++++++++++++++---
>>   3 files changed, 44 insertions(+), 4 deletions(-)
>>
>> diff --git a/Documentation/arch/x86/resctrl.rst
>> b/Documentation/arch/x86/resctrl.rst
>> index 54691c8b832d..98b0eb509ed4 100644
>> --- a/Documentation/arch/x86/resctrl.rst
>> +++ b/Documentation/arch/x86/resctrl.rst
>> @@ -369,6 +369,10 @@ When monitoring is enabled all MON groups will also
>> contain:
>>       the sum for all tasks in the CTRL_MON group and all tasks in
>>       MON groups. Please see example section for more details on usage.
>>   +"mon_hw_id":
>> +    Available only with debug option. The identifier used by hardware
>> +    for the monitor group. On x86 this is the RMID.
>> +
>>   Resource allocation rules
>>   -------------------------
>>   diff --git a/arch/x86/kernel/cpu/resctrl/internal.h
>> b/arch/x86/kernel/cpu/resctrl/internal.h
>> index ccdbed615d41..b4910892b0a6 100644
>> --- a/arch/x86/kernel/cpu/resctrl/internal.h
>> +++ b/arch/x86/kernel/cpu/resctrl/internal.h
>> @@ -296,6 +296,11 @@ struct rdtgroup {
>>    *    --> RFTYPE_BASE (Files common for both MON and CTRL groups)
>>    *        Files: cpus, cpus_list, tasks
>>    *
>> + *        --> RFTYPE_MON (Files only for MON group)
>> + *
>> + *            --> RFTYPE_DEBUG (Files to help resctrl debugging)
>> + *                File: mon_hw_id
>> + *
>>    *        --> RFTYPE_CTRL (Files only for CTRL group)
>>    *            Files: mode, schemata, size
>>    *
>> @@ -315,6 +320,7 @@ struct rdtgroup {
>>   #define RFTYPE_MON_INFO            (RFTYPE_INFO | RFTYPE_MON)
>>   #define RFTYPE_TOP_INFO            (RFTYPE_INFO | RFTYPE_TOP)
>>   #define RFTYPE_CTRL_BASE        (RFTYPE_BASE | RFTYPE_CTRL)
>> +#define RFTYPE_MON_BASE            (RFTYPE_BASE | RFTYPE_MON)
>>     /* List of all resource groups */
>>   extern struct list_head rdt_all_groups;
>> diff --git a/arch/x86/kernel/cpu/resctrl/rdtgroup.c
>> b/arch/x86/kernel/cpu/resctrl/rdtgroup.c
>> index 8be0fb323ad3..fc830ffce82a 100644
>> --- a/arch/x86/kernel/cpu/resctrl/rdtgroup.c
>> +++ b/arch/x86/kernel/cpu/resctrl/rdtgroup.c
>> @@ -795,6 +795,22 @@ static int rdtgroup_closid_show(struct
>> kernfs_open_file *of,
>>       return ret;
>>   }
>>   +static int rdtgroup_rmid_show(struct kernfs_open_file *of,
>> +                  struct seq_file *s, void *v)
>> +{
>> +    struct rdtgroup *rdtgrp;
>> +    int ret = 0;
>> +
>> +    rdtgrp = rdtgroup_kn_lock_live(of->kn);
>> +    if (rdtgrp)
>> +        seq_printf(s, "%u\n", rdtgrp->mon.rmid);
>> +    else
>> +        ret = -ENOENT;
>> +    rdtgroup_kn_unlock(of->kn);
>> +
>> +    return ret;
>> +}
>> +
>>   #ifdef CONFIG_PROC_CPU_RESCTRL
>>     /*
>> @@ -1856,6 +1872,13 @@ static struct rftype res_common_files[] = {
>>           .seq_show    = rdtgroup_tasks_show,
>>           .fflags        = RFTYPE_BASE,
>>       },
>> +    {
>> +        .name        = "mon_hw_id",
>> +        .mode        = 0444,
>> +        .kf_ops        = &rdtgroup_kf_single_ops,
>> +        .seq_show    = rdtgroup_rmid_show,
> 
> Similar to showing ctrl_hw_id, is it better to rename "rdtgroup_rmid_show"
> as "rdtgroup_mon_hw_id_show" for arch neutral naming?
> 
>> +        .fflags        = RFTYPE_MON_BASE | RFTYPE_DEBUG,
>> +    },
>>       {
>>           .name        = "schemata",
>>           .mode        = 0644,
>> @@ -2535,6 +2558,7 @@ static void schemata_list_destroy(void)
>>   static int rdt_get_tree(struct fs_context *fc)
>>   {
>>       struct rdt_fs_context *ctx = rdt_fc2context(fc);
>> +    unsigned long flags = RFTYPE_CTRL_BASE;
>>       struct rdt_domain *dom;
>>       struct rdt_resource *r;
>>       int ret;
>> @@ -2565,7 +2589,10 @@ static int rdt_get_tree(struct fs_context *fc)
>>         closid_init();
>>   -    ret = rdtgroup_add_files(rdtgroup_default.kn, RFTYPE_CTRL_BASE);
>> +    if (rdt_mon_capable)
>> +        flags |= RFTYPE_MON;
>> +
>> +    ret = rdtgroup_add_files(rdtgroup_default.kn, flags);
>>       if (ret)
>>           goto out_schemata_free;
>>   @@ -3255,8 +3282,8 @@ static int mkdir_rdt_prepare(struct kernfs_node
>> *parent_kn,
>>                    enum rdt_group_type rtype, struct rdtgroup **r)
>>   {
>>       struct rdtgroup *prdtgrp, *rdtgrp;
>> +    unsigned long files = 0;
>>       struct kernfs_node *kn;
>> -    uint files = 0;
>>       int ret;
>>         prdtgrp = rdtgroup_kn_lock_live(parent_kn);
>> @@ -3308,10 +3335,13 @@ static int mkdir_rdt_prepare(struct kernfs_node
>> *parent_kn,
>>           goto out_destroy;
>>       }
>>   -    if (rtype == RDTCTRL_GROUP)
>> +    if (rtype == RDTCTRL_GROUP) {
>>           files = RFTYPE_BASE | RFTYPE_CTRL;
>> -    else
>> +        if (rdt_mon_capable)
>> +            files |= RFTYPE_MON;
>> +    } else {
>>           files = RFTYPE_BASE | RFTYPE_MON;
>> +    }
>>         ret = rdtgroup_add_files(kn, files);
>>       if (ret) {
> 
> Thanks.
> 
> -Fenghua

-- 
Thanks
Babu Moger

  reply	other threads:[~2023-09-12 17:18 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-09-07 23:51 [PATCH v9 0/9] x86/resctrl: Miscellaneous resctrl features Babu Moger
2023-09-07 23:51 ` [PATCH v9 1/9] x86/resctrl: Add multiple tasks to the resctrl group at once Babu Moger
2023-09-11 17:51   ` Fenghua Yu
2023-09-07 23:51 ` [PATCH v9 2/9] x86/resctrl: Simplify rftype flag definitions Babu Moger
2023-09-07 23:51 ` [PATCH v9 3/9] x86/resctrl: Rename rftype flags for consistency Babu Moger
2023-09-07 23:51 ` [PATCH v9 4/9] x86/resctrl: Add comments on RFTYPE flags hierarchy Babu Moger
2023-09-11 17:56   ` Fenghua Yu
2023-09-07 23:51 ` [PATCH v9 5/9] x86/resctrl: Unwind the errors inside rdt_enable_ctx() Babu Moger
2023-09-11 22:58   ` Reinette Chatre
2023-09-12 16:54     ` Moger, Babu
2023-09-07 23:51 ` [PATCH v9 6/9] x86/resctrl: Move default group file creation to mount Babu Moger
2023-09-11 17:58   ` Fenghua Yu
2023-09-11 23:05   ` Reinette Chatre
2023-09-07 23:51 ` [PATCH v9 7/9] x86/resctrl: Introduce "-o debug" mount option Babu Moger
2023-09-07 23:51 ` [PATCH v9 8/9] x86/resctrl: Display CLOSID for resource group Babu Moger
2023-09-11 18:08   ` Fenghua Yu
2023-09-11 21:53     ` Reinette Chatre
2023-09-07 23:51 ` [PATCH v9 9/9] x86/resctrl: Display RMID of " Babu Moger
2023-09-11 18:14   ` Fenghua Yu
2023-09-12 17:18     ` Moger, Babu [this message]
2023-09-11 23:08   ` Reinette Chatre
2023-09-12 17:39     ` Moger, Babu
2023-09-12 17:57       ` Reinette Chatre
2023-09-12 19:45         ` Moger, Babu
2023-09-11 23:08 ` [PATCH v9 0/9] x86/resctrl: Miscellaneous resctrl features Reinette Chatre
2023-09-12 16:53   ` Moger, Babu

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=fa4c4cad-cc21-fe55-fafa-4afe12bd195d@amd.com \
    --to=babu.moger@amd.com \
    --cc=adrian.hunter@intel.com \
    --cc=akpm@linux-foundation.org \
    --cc=bagasdotme@gmail.com \
    --cc=bp@alien8.de \
    --cc=chang.seok.bae@intel.com \
    --cc=christophe.leroy@csgroup.eu \
    --cc=corbet@lwn.net \
    --cc=damien.lemoal@opensource.wdc.com \
    --cc=daniel.sneddon@linux.intel.com \
    --cc=dave.hansen@linux.intel.com \
    --cc=eranian@google.com \
    --cc=fenghua.yu@intel.com \
    --cc=hpa@zytor.com \
    --cc=james.morse@arm.com \
    --cc=jarkko@kernel.org \
    --cc=jmattson@google.com \
    --cc=jpoimboe@kernel.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@redhat.com \
    --cc=paulmck@kernel.org \
    --cc=pawan.kumar.gupta@linux.intel.com \
    --cc=pbonzini@redhat.com \
    --cc=peternewman@google.com \
    --cc=peterz@infradead.org \
    --cc=quic_jiles@quicinc.com \
    --cc=quic_neeraju@quicinc.com \
    --cc=rdunlap@infradead.org \
    --cc=reinette.chatre@intel.com \
    --cc=sandipan.das@amd.com \
    --cc=songmuchun@bytedance.com \
    --cc=tglx@linutronix.de \
    --cc=tony.luck@intel.com \
    --cc=x86@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®