All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Ilpo Järvinen" <ilpo.jarvinen@linux.intel.com>
To: "Moger, Babu" <Babu.Moger@amd.com>
Cc: "corbet@lwn.net" <corbet@lwn.net>,
	Reinette Chatre <reinette.chatre@intel.com>,
	"tglx@linutronix.de" <tglx@linutronix.de>,
	"mingo@redhat.com" <mingo@redhat.com>,
	"bp@alien8.de" <bp@alien8.de>,
	"fenghua.yu@intel.com" <fenghua.yu@intel.com>,
	"dave.hansen@linux.intel.com" <dave.hansen@linux.intel.com>,
	"x86@kernel.org" <x86@kernel.org>,
	"hpa@zytor.com" <hpa@zytor.com>,
	"paulmck@kernel.org" <paulmck@kernel.org>,
	"akpm@linux-foundation.org" <akpm@linux-foundation.org>,
	"quic_neeraju@quicinc.com" <quic_neeraju@quicinc.com>,
	"rdunlap@infradead.org" <rdunlap@infradead.org>,
	"damien.lemoal@opensource.wdc.com"
	<damien.lemoal@opensource.wdc.com>,
	"songmuchun@bytedance.com" <songmuchun@bytedance.com>,
	"peterz@infradead.org" <peterz@infradead.org>,
	"jpoimboe@kernel.org" <jpoimboe@kernel.org>,
	"pbonzini@redhat.com" <pbonzini@redhat.com>,
	"chang.seok.bae@intel.com" <chang.seok.bae@intel.com>,
	"pawan.kumar.gupta@linux.intel.com" 
	<pawan.kumar.gupta@linux.intel.com>,
	"jmattson@google.com" <jmattson@google.com>,
	"daniel.sneddon@linux.intel.com" <daniel.sneddon@linux.intel.com>,
	"Das1, Sandipan" <Sandipan.Das@amd.com>,
	"tony.luck@intel.com" <tony.luck@intel.com>,
	"james.morse@arm.com" <james.morse@arm.com>,
	"linux-doc@vger.kernel.org" <linux-doc@vger.kernel.org>,
	LKML <linux-kernel@vger.kernel.org>,
	"bagasdotme@gmail.com" <bagasdotme@gmail.com>,
	"eranian@google.com" <eranian@google.com>,
	"christophe.leroy@csgroup.eu" <christophe.leroy@csgroup.eu>,
	"jarkko@kernel.org" <jarkko@kernel.org>,
	"adrian.hunter@intel.com" <adrian.hunter@intel.com>,
	"quic_jiles@quicinc.com" <quic_jiles@quicinc.com>,
	"peternewman@google.com" <peternewman@google.com>
Subject: RE: [PATCH v4 7/7] x86/resctrl: Add debug files when mounted with debug option
Date: Mon, 24 Apr 2023 18:12:29 +0300 (EEST)	[thread overview]
Message-ID: <ff99af93-5121-5a27-e24f-6354b9dffa1f@linux.intel.com> (raw)
In-Reply-To: <MW3PR12MB4553359D41816826AA001A1095609@MW3PR12MB4553.namprd12.prod.outlook.com>

[-- Attachment #1: Type: text/plain, Size: 5394 bytes --]

On Fri, 21 Apr 2023, Moger, Babu wrote:
> > -----Original Message-----
> > From: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
> > Sent: Thursday, April 20, 2023 3:59 AM
> > To: Moger, Babu <Babu.Moger@amd.com>
> > Cc: corbet@lwn.net; Reinette Chatre <reinette.chatre@intel.com>;
> > tglx@linutronix.de; mingo@redhat.com; bp@alien8.de; fenghua.yu@intel.com;
> > 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; Das1, Sandipan <Sandipan.Das@amd.com>;
> > tony.luck@intel.com; james.morse@arm.com; linux-doc@vger.kernel.org;
> > LKML <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 v4 7/7] x86/resctrl: Add debug files when mounted with
> > debug option
> > 
> > On Wed, 19 Apr 2023, Moger, Babu wrote:
> > 
> > >
> > >
> > > On 4/19/23 08:20, Ilpo Järvinen wrote:
> > > > On Mon, 17 Apr 2023, Babu Moger wrote:
> > > >
> > > >> Add the debug files to the resctrl hierarchy.
> > > >>
> > > >> Signed-off-by: Babu Moger <babu.moger@amd.com>
> > > >> ---
> > > >>  arch/x86/kernel/cpu/resctrl/internal.h |    1 +
> > > >>  arch/x86/kernel/cpu/resctrl/rdtgroup.c |   54
> > +++++++++++++++++++++++++++++++-
> > > >>  2 files changed, 54 insertions(+), 1 deletion(-)
> > > >>
> > > >> diff --git a/arch/x86/kernel/cpu/resctrl/internal.h
> > > >> b/arch/x86/kernel/cpu/resctrl/internal.h
> > > >> index 1eac07ebc31b..855109abb480 100644
> > > >> --- a/arch/x86/kernel/cpu/resctrl/internal.h
> > > >> +++ b/arch/x86/kernel/cpu/resctrl/internal.h
> > > >> @@ -288,6 +288,7 @@ struct rdtgroup {
> > > >>  #define RFTYPE_TOP			BIT(4)
> > > >>  #define RFTYPE_RES_CACHE		BIT(5)
> > > >>  #define RFTYPE_RES_MB			BIT(6)
> > > >> +#define RFTYPE_DEBUG			BIT(7)
> > > >>  #define RFTYPE_CTRL_INFO		(RFTYPE_INFO |
> > RFTYPE_CTRL)
> > > >>  #define RFTYPE_MON_INFO			(RFTYPE_INFO |
> > RFTYPE_MON)
> > > >>  #define RFTYPE_TOP_INFO			(RFTYPE_INFO |
> > RFTYPE_TOP)
> > > >> diff --git a/arch/x86/kernel/cpu/resctrl/rdtgroup.c
> > > >> b/arch/x86/kernel/cpu/resctrl/rdtgroup.c
> > > >> index 15ded0dd5b09..1ec4359348c2 100644
> > > >> --- a/arch/x86/kernel/cpu/resctrl/rdtgroup.c
> > > >> +++ b/arch/x86/kernel/cpu/resctrl/rdtgroup.c
> > > >> @@ -1880,6 +1880,7 @@ static struct rftype res_common_files[] = {
> > > >>  		.mode		= 0444,
> > > >>  		.kf_ops		= &rdtgroup_kf_single_ops,
> > > >>  		.seq_show	= rdtgroup_rmid_show,
> > > >> +		.fflags		= RFTYPE_BASE | RFTYPE_DEBUG,
> > > >>  	},
> > > >>  	{
> > > >>  		.name		= "schemata",
> > > >> @@ -1909,6 +1910,7 @@ static struct rftype res_common_files[] = {
> > > >>  		.mode		= 0444,
> > > >>  		.kf_ops		= &rdtgroup_kf_single_ops,
> > > >>  		.seq_show	= rdtgroup_closid_show,
> > > >> +		.fflags		= RFTYPE_CTRL_BASE | RFTYPE_DEBUG,
> > > >>  	},
> > > >>
> > > >>  };
> > > >> @@ -2420,6 +2422,49 @@ static int mkdir_mondata_all(struct
> > kernfs_node *parent_kn,
> > > >>  			     struct rdtgroup *prgrp,
> > > >>  			     struct kernfs_node **mon_data_kn);
> > > >>
> > > >> +static void resctrl_add_debug_files(void) {
> > > >> +	struct rftype *rfts, *rft;
> > > >> +	int len;
> > > >> +
> > > >> +	rfts = res_common_files;
> > > >> +	len = ARRAY_SIZE(res_common_files);
> > > >> +
> > > >> +	lockdep_assert_held(&rdtgroup_mutex);
> > > >> +
> > > >> +	for (rft = rfts; rft < rfts + len; rft++) {
> > > >> +		if (rft->fflags & RFTYPE_DEBUG) {
> > > >> +			rft->fflags &= ~RFTYPE_DEBUG;
> > > >
> > > > I don't fully follow why you need to play with ->fflags like this.
> > > >
> > > > Is it for the ->fflags test in rdtgroup_add_files()? Can't you just
> > > > do some extra masking there for RFTYPE_DEBUG based on resctrl_debug
> > > > which you already keep?
> > >
> > > Actually with this change, I can remove all these tricks here.
> > > I don't have to change the check "if (rft->fflags && ((fflags &
> > > rft->fflags) == rft->fflags)) {"
> > >
> > > diff --git a/arch/x86/kernel/cpu/resctrl/rdtgroup.c
> > > b/arch/x86/kernel/cpu/resctrl/rdtgroup.c
> > > index 1ec4359348c2..b560c44817bb 100644
> > > --- a/arch/x86/kernel/cpu/resctrl/rdtgroup.c
> > > +++ b/arch/x86/kernel/cpu/resctrl/rdtgroup.c
> > > @@ -1925,6 +1925,9 @@ static int rdtgroup_add_files(struct kernfs_node
> > > *kn, unsigned long fflags)
> > >
> > >         lockdep_assert_held(&rdtgroup_mutex);
> > >
> > > +       if (resctrl_debug)
> > > +               fflags |= RFTYPE_DEBUG;
> > 
> > Yes, looks good.
> > 
> > It matches to the idea I had in my mind but doesn't require putting it 
> > into the if condition itself.
>
> Without if condition?  How?  Let me know.

I was referring to the if condition within the loop, not to doing it
without some conditional (I had an (resctrl_debug ? RFTYPE_DEBUG : 0)
construct in my mind).

To remove if, it would, of course, be possible to use another static 
file-level variable but it doesn't seem justified. I think what you 
proposed is fine for this use and looks clean.

-- 
 i.

  reply	other threads:[~2023-04-24 15:12 UTC|newest]

Thread overview: 50+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-04-17 23:33 [PATCH v4 0/7] x86/resctrl: Miscellaneous resctrl features Babu Moger
2023-04-17 23:34 ` [PATCH v4 1/7] x86/resctrl: Add multiple tasks to the resctrl group at once Babu Moger
2023-04-19 12:58   ` Ilpo Järvinen
2023-04-19 14:52     ` Moger, Babu
2023-04-20  9:38       ` Ilpo Järvinen
2023-05-04 18:57   ` Reinette Chatre
2023-05-05 17:09     ` Moger, Babu
2023-05-05 18:49       ` Reinette Chatre
2023-05-09 17:13         ` Moger, Babu
2023-04-17 23:34 ` [PATCH v4 2/7] x86/resctrl: Remove unnecessary rftype flags Babu Moger
2023-05-04 18:58   ` Reinette Chatre
2023-05-05 18:31     ` Moger, Babu
2023-05-05 18:54       ` Reinette Chatre
2023-05-05 19:04         ` Moger, Babu
2023-05-05 21:28           ` Reinette Chatre
2023-05-09 18:54             ` Moger, Babu
2023-05-09 19:31             ` Moger, Babu
2023-04-17 23:34 ` [PATCH v4 3/7] x86/resctrl: Rename rftype flags for consistency Babu Moger
2023-04-19 12:44   ` Ilpo Järvinen
2023-04-19 14:29     ` Moger, Babu
2023-05-04 19:00   ` Reinette Chatre
     [not found]     ` <232c8e85-0d5b-8e24-33d0-eab5eee186f0@amd.com>
2023-05-05 21:24       ` Reinette Chatre
2023-05-09 17:42         ` Moger, Babu
2023-04-17 23:34 ` [PATCH v4 4/7] x86/resctrl: Re-arrange RFTYPE flags and add more comments Babu Moger
2023-05-04 19:00   ` Reinette Chatre
2023-05-05 20:40     ` Moger, Babu
2023-05-05 21:24       ` Reinette Chatre
2023-05-09 17:33         ` Moger, Babu
2023-04-17 23:34 ` [PATCH v4 5/7] x86/resctrl: Introduce "-o debug" mount option Babu Moger
2023-05-04 19:02   ` Reinette Chatre
2023-05-05 21:26     ` Moger, Babu
2023-04-17 23:34 ` [PATCH v4 6/7] x86/resctrl: Display CLOSID and RMID for the resctrl groups Babu Moger
2023-04-18  2:22   ` Bagas Sanjaya
2023-04-18 14:11     ` Moger, Babu
2023-05-04 19:04   ` Reinette Chatre
2023-05-05 21:45     ` Moger, Babu
2023-05-05 23:25       ` Reinette Chatre
2023-04-17 23:35 ` [PATCH v4 7/7] x86/resctrl: Add debug files when mounted with debug option Babu Moger
2023-04-19 13:20   ` Ilpo Järvinen
2023-04-19 15:16     ` Moger, Babu
2023-04-19 15:16     ` Moger, Babu
2023-04-19 17:16     ` Moger, Babu
2023-04-20  8:59       ` Ilpo Järvinen
2023-04-21 18:47         ` Moger, Babu
2023-04-24 15:12           ` Ilpo Järvinen [this message]
2023-05-04 18:54 ` [PATCH v4 0/7] x86/resctrl: Miscellaneous resctrl features Reinette Chatre
2023-05-05 15:43   ` Moger, Babu
2023-05-05 17:47     ` Reinette Chatre
2023-05-05 18:03       ` Moger, Babu
2023-05-29 10:18 ` Shaopeng Tan (Fujitsu)

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=ff99af93-5121-5a27-e24f-6354b9dffa1f@linux.intel.com \
    --to=ilpo.jarvinen@linux.intel.com \
    --cc=Babu.Moger@amd.com \
    --cc=Sandipan.Das@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=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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.