From: Reinette Chatre <reinette.chatre@intel.com>
To: <babu.moger@amd.com>, <corbet@lwn.net>, <tglx@linutronix.de>,
<mingo@redhat.com>, <bp@alien8.de>
Cc: <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>,
<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 v8 6/8] x86/resctrl: Move default group file creation to mount
Date: Wed, 30 Aug 2023 15:05:16 -0700 [thread overview]
Message-ID: <8fae1e7c-30da-651c-5761-e2ab2b69eeaf@intel.com> (raw)
In-Reply-To: <674d9d94-28a1-2468-b2d8-1bf784933d6e@amd.com>
Hi Babu,
On 8/30/2023 2:18 PM, Moger, Babu wrote:
> On 8/30/23 15:00, Reinette Chatre wrote:
>> On 8/30/2023 12:50 PM, Moger, Babu wrote:
>>> On 8/29/23 15:11, Reinette Chatre wrote:
>>>> On 8/21/2023 4:30 PM, Babu Moger wrote:
>>>>> The default resource group and its files are created during kernel
>>>>> init time. Upcoming changes will make some resctrl files optional
>>>>> based on a mount parameter. If optional files are to be added to the
>>>>> default group based on the mount option, then each new file needs to
>>>>> be created separately and call kernfs_activate() again.
>>>>>
>>>>> Create all files of the default resource group during resctrl
>>>>> mount, destroyed during unmount, to avoid scattering resctrl
>>>>> file addition across two separate code flows.
>>>>>
>>>>> Suggested-by: Reinette Chatre <reinette.chatre@intel.com>
>>>>> Signed-off-by: Babu Moger <babu.moger@amd.com>
>>>>> ---
>>>>> arch/x86/kernel/cpu/resctrl/internal.h | 2 +
>>>>> arch/x86/kernel/cpu/resctrl/rdtgroup.c | 55 +++++++++++++++-----------
>>>>> 2 files changed, 33 insertions(+), 24 deletions(-)
>>>>>
>>>>> diff --git a/arch/x86/kernel/cpu/resctrl/internal.h b/arch/x86/kernel/cpu/resctrl/internal.h
>>>>> index b09e7abd1299..44ad98f8c7af 100644
>>>>> --- a/arch/x86/kernel/cpu/resctrl/internal.h
>>>>> +++ b/arch/x86/kernel/cpu/resctrl/internal.h
>>>>> @@ -611,5 +611,7 @@ void rdt_domain_reconfigure_cdp(struct rdt_resource *r);
>>>>> void __init thread_throttle_mode_init(void);
>>>>> void __init mbm_config_rftype_init(const char *config);
>>>>> void rdt_staged_configs_clear(void);
>>>>> +int rdtgroup_setup_root(struct rdt_fs_context *ctx);
>>>>> +void rdtgroup_destroy_root(void);
>>>>>
>>>>
>>>> From what I can tell these functions are only used in rdtgroup.c.
>>>> Can this export be avoided by just moving these functions within
>>>> rdtgroup.c and making them static?
>>>
>>> Yes. It is used only in rdtgroup.c. We can make this static by adding the
>>> prototypes of these function in the beginning of rdtgroup.c file to avoid
>>> implicit declaration compiler errors.
>>
>> Why not just place the functions earlier in rdtgroup.c so that they are
>> located before all callers?
>
> Couple of problems with that.
> 1. rdtgroup_setup_root needs the the definition of
> rdtgroup_kf_syscall_ops which is defined later in the file.
>
> Static struct kernfs_syscall_ops rdtgroup_kf_syscall_ops = {
> .mkdir = rdtgroup_mkdir,
> .rmdir = rdtgroup_rmdir,
> .rename = rdtgroup_rename,
> .show_options = rdtgroup_show_options,
> };
>
> 2. rdtgroup_setup_root is called in rdt_get_tree which is defined earlier
> in the file.
>
> So, this needs re-arrange of all these functions. That is reason I made
> these functions global. Thought it may be too much a change for this purpose.
I see, yes, to accomplish this would trigger a lot of churn and also seem
to cascade into other dependencies needing to be taken into account.
As you suggested the static declaration can be added to the top of rdtgroup.c
as proposal for the next stage.
Reinette
next prev parent reply other threads:[~2023-08-30 22:07 UTC|newest]
Thread overview: 52+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-08-21 23:30 [PATCH v8 0/8] x86/resctrl: Miscellaneous resctrl features Babu Moger
2023-08-21 23:30 ` [PATCH v8 1/8] x86/resctrl: Add multiple tasks to the resctrl group at once Babu Moger
2023-09-01 22:13 ` Fenghua Yu
2023-09-06 14:56 ` Moger, Babu
2023-09-06 20:42 ` Fenghua Yu
2023-09-07 14:44 ` Moger, Babu
2023-09-07 14:51 ` Fenghua Yu
2023-08-21 23:30 ` [PATCH v8 2/8] x86/resctrl: Simplify rftype flag definitions Babu Moger
2023-09-01 22:14 ` Fenghua Yu
2023-08-21 23:30 ` [PATCH v8 3/8] x86/resctrl: Rename rftype flags for consistency Babu Moger
2023-09-01 22:15 ` Fenghua Yu
2023-08-21 23:30 ` [PATCH v8 4/8] x86/resctrl: Add comments on RFTYPE flags hierarchy Babu Moger
2023-08-23 7:03 ` Shaopeng Tan (Fujitsu)
2023-08-23 15:56 ` Moger, Babu
2023-08-29 20:08 ` Reinette Chatre
2023-08-30 16:30 ` Moger, Babu
2023-09-01 22:31 ` Fenghua Yu
2023-09-06 15:10 ` Moger, Babu
2023-08-21 23:30 ` [PATCH v8 5/8] x86/resctrl: Unwind the errors inside rdt_enable_ctx() Babu Moger
2023-08-29 20:10 ` Reinette Chatre
2023-08-30 16:38 ` Moger, Babu
2023-08-30 17:56 ` Reinette Chatre
2023-08-30 18:28 ` Moger, Babu
2023-09-01 23:33 ` Fenghua Yu
2023-08-21 23:30 ` [PATCH v8 6/8] x86/resctrl: Move default group file creation to mount Babu Moger
2023-08-29 20:11 ` Reinette Chatre
2023-08-30 19:50 ` Moger, Babu
2023-08-30 20:00 ` Reinette Chatre
2023-08-30 21:18 ` Moger, Babu
2023-08-30 22:05 ` Reinette Chatre [this message]
2023-08-30 23:24 ` Moger, Babu
2023-09-01 23:21 ` Fenghua Yu
2023-09-01 23:36 ` Reinette Chatre
2023-09-01 23:46 ` Fenghua Yu
2023-09-01 23:48 ` Reinette Chatre
2023-09-06 15:19 ` Moger, Babu
2023-08-21 23:30 ` [PATCH v8 7/8] x86/resctrl: Introduce "-o debug" mount option Babu Moger
2023-08-29 20:12 ` Reinette Chatre
2023-08-30 21:45 ` Moger, Babu
2023-09-01 22:35 ` Fenghua Yu
2023-08-21 23:30 ` [PATCH v8 8/8] x86/resctrl: Display hardware ids of resource groups Babu Moger
2023-08-29 20:14 ` Reinette Chatre
2023-08-30 23:19 ` Moger, Babu
2023-08-31 17:42 ` Reinette Chatre
2023-08-31 23:58 ` Moger, Babu
2023-09-01 0:43 ` Reinette Chatre
2023-09-01 17:28 ` Moger, Babu
2023-09-01 17:57 ` Reinette Chatre
2023-09-05 16:51 ` Moger, Babu
2023-09-01 22:44 ` Fenghua Yu
2023-08-23 7:06 ` [PATCH v8 0/8] x86/resctrl: Miscellaneous resctrl features Shaopeng Tan (Fujitsu)
2023-08-23 15:12 ` 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=8fae1e7c-30da-651c-5761-e2ab2b69eeaf@intel.com \
--to=reinette.chatre@intel.com \
--cc=adrian.hunter@intel.com \
--cc=akpm@linux-foundation.org \
--cc=babu.moger@amd.com \
--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=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;
as well as URLs for NNTP newsgroup(s).