From: Reinette Chatre <reinette.chatre@intel.com>
To: Tony Luck <tony.luck@intel.com>
Cc: Fenghua Yu <fenghua.yu@intel.com>,
Maciej Wieczor-Retman <maciej.wieczor-retman@intel.com>,
Peter Newman <peternewman@google.com>,
James Morse <james.morse@arm.com>,
Babu Moger <babu.moger@amd.com>,
"Drew Fustini" <dfustini@baylibre.com>,
Dave Martin <Dave.Martin@arm.com>, <x86@kernel.org>,
<linux-kernel@vger.kernel.org>, <patches@lists.linux.dev>
Subject: Re: [PATCH v21 14/18] x86/resctrl: Fill out rmid_read structure for smp_call*() to read a counter
Date: Wed, 26 Jun 2024 14:23:39 -0700 [thread overview]
Message-ID: <d82a0882-1b92-476f-bc14-e8edb6ec43ca@intel.com> (raw)
In-Reply-To: <ZnxtZc140S11gFKL@agluck-desk3.sc.intel.com>
Hi Tony,
On 6/26/24 12:35 PM, Tony Luck wrote:
>>> diff --git a/arch/x86/kernel/cpu/resctrl/monitor.c b/arch/x86/kernel/cpu/resctrl/monitor.c
>>> index ff4e74594a19..877d898e8fd0 100644
>>> --- a/arch/x86/kernel/cpu/resctrl/monitor.c
>>> +++ b/arch/x86/kernel/cpu/resctrl/monitor.c
>>> @@ -785,6 +785,7 @@ static void mbm_update(struct rdt_resource *r, struct rdt_mon_domain *d,
>>> rr.first = false;
>>> rr.r = r;
>>> rr.d = d;
>>> + rr.ci = NULL;
>>
>> This keeps using a struct rmid_read with random data from stack and initialize members based on
>> knowledge about how the called functions use this struct. Could you please add initialization to
>> all these places that use struct rmid_read with whatever is on the stack? This includes
>> mon_add_all_files() introduced in this series.
>> Something like below should do (in mon_add_all_files() - done as part of patch 10, mbm_update(),
>> and mon_add_all_files():
(I see now that I wrote mon_add_all_files() twice ... the latter was intended to
be rdtgroup_mondata_show()).
>> struct rmid_read rr = {0};
>
> I'm making that change to the three places that struct rmid_read
> is defined as a local variable.
>
> Should I also remove "useless" assignments now that the structure
> is zeroed by the compiler. I.e. in the above snip the rr.first = false;
> and rr.ci = NULL;
Indeed. Those are now unnecessary.
"useless" assignments are subjective. When considering this rr.ci assignment I
think it is insightful to consider its lack of a partner in mon_event_read().
Of course, rr.ci should not be set to NULL in mon_event_read() but I think it
highlights how issues can creep in since without proper struct initialization in
rdtgroup_mondata_show() and mon_add_all_files() rr.ci will contain garbage
in non-SNC/non-sum flows.
>
> I suspect there are others.
>
> Or do they serve as useful hints to human readers of the code?
You are of course welcome to keep those you find useful to readers of the
code. My goals with this suggestion was to (a) stop passing garbage in
struct rmid_read fields, (b) use struct rmid_read consistently.
Reinette
next prev parent reply other threads:[~2024-06-26 21:23 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-06-21 22:38 [PATCH v21 00/18] Add support for Sub-NUMA cluster (SNC) systems Tony Luck
2024-06-21 22:38 ` [PATCH v21 01/18] x86/resctrl: Prepare for new domain scope Tony Luck
2024-06-21 22:38 ` [PATCH v21 02/18] x86/resctrl: Prepare to split rdt_domain structure Tony Luck
2024-06-21 22:38 ` [PATCH v21 03/18] x86/resctrl: Prepare for different scope for control/monitor operations Tony Luck
2024-06-21 22:38 ` [PATCH v21 04/18] x86/resctrl: Split the rdt_domain and rdt_hw_domain structures Tony Luck
2024-06-21 22:38 ` [PATCH v21 05/18] x86/resctrl: Add node-scope to the options for feature scope Tony Luck
2024-06-21 22:38 ` [PATCH v21 06/18] x86/resctrl: Introduce snc_nodes_per_l3_cache Tony Luck
2024-06-21 22:38 ` [PATCH v21 07/18] x86/resctrl: Block use of mba_MBps mount option on Sub-NUMA Cluster (SNC) systems Tony Luck
2024-06-25 23:28 ` Reinette Chatre
2024-06-21 22:38 ` [PATCH v21 08/18] x86/resctrl: Prepare for new Sub-NUMA Cluster (SNC) monitor files Tony Luck
2024-06-25 23:28 ` Reinette Chatre
2024-06-21 22:38 ` [PATCH v21 09/18] x86/resctrl: Add a new field to struct rmid_read for summation of domains Tony Luck
2024-06-25 23:29 ` Reinette Chatre
2024-06-21 22:38 ` [PATCH v21 10/18] x86/resctrl: Refactor mkdir_mondata_subdir() with a helper function Tony Luck
2024-06-21 22:38 ` [PATCH v21 11/18] x86/resctrl: Allocate a new field in union mon_data_bits Tony Luck
2024-06-25 23:29 ` Reinette Chatre
2024-06-21 22:38 ` [PATCH v21 12/18] x86/resctrl: Create Sub-NUMA Cluster (SNC) monitor files Tony Luck
2024-06-25 23:30 ` Reinette Chatre
2024-06-21 22:38 ` [PATCH v21 13/18] x86/resctrl: Handle removing directories in Sub-NUMA Cluster (SNC) mode Tony Luck
2024-06-25 23:31 ` Reinette Chatre
2024-06-21 22:38 ` [PATCH v21 14/18] x86/resctrl: Fill out rmid_read structure for smp_call*() to read a counter Tony Luck
2024-06-25 23:33 ` Reinette Chatre
2024-06-26 19:35 ` Tony Luck
2024-06-26 21:23 ` Reinette Chatre [this message]
2024-06-27 17:31 ` Luck, Tony
2024-06-27 17:52 ` Reinette Chatre
2024-06-21 22:38 ` [PATCH v21 15/18] x86/resctrl: Make __mon_event_count() handle sum domains Tony Luck
2024-06-25 23:35 ` Reinette Chatre
2024-06-21 22:38 ` [PATCH v21 16/18] x86/resctrl: Enable shared RMID mode on Sub-NUMA Cluster (SNC) systems Tony Luck
2024-06-25 23:35 ` Reinette Chatre
2024-06-21 22:38 ` [PATCH v21 17/18] x86/resctrl: Sub-NUMA Cluster (SNC) detection Tony Luck
2024-06-21 22:38 ` [PATCH v21 18/18] x86/resctrl: Update documentation with Sub-NUMA cluster changes Tony Luck
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=d82a0882-1b92-476f-bc14-e8edb6ec43ca@intel.com \
--to=reinette.chatre@intel.com \
--cc=Dave.Martin@arm.com \
--cc=babu.moger@amd.com \
--cc=dfustini@baylibre.com \
--cc=fenghua.yu@intel.com \
--cc=james.morse@arm.com \
--cc=linux-kernel@vger.kernel.org \
--cc=maciej.wieczor-retman@intel.com \
--cc=patches@lists.linux.dev \
--cc=peternewman@google.com \
--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