Linux Kernel Selftest development
 help / color / mirror / Atom feed
From: "Ilpo Järvinen" <ilpo.jarvinen@linux.intel.com>
To: Reinette Chatre <reinette.chatre@intel.com>
Cc: linux-kselftest@vger.kernel.org, "Shuah Khan" <shuah@kernel.org>,
	"Babu Moger" <babu.moger@amd.com>,
	"Maciej Wieczór-Retman" <maciej.wieczor-retman@intel.com>,
	"Fenghua Yu" <fenghua.yu@intel.com>,
	LKML <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH v2 11/13] selftests/resctrl: Convert ctrlgrp & mongrp to pointers
Date: Mon, 25 Mar 2024 15:14:16 +0200 (EET)	[thread overview]
Message-ID: <32c9f2ca-a483-97f3-25d1-8e16e2fdf042@linux.intel.com> (raw)
In-Reply-To: <8964b621-657d-4f9c-aeb0-3d3ed8c62c3f@intel.com>

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

On Fri, 22 Mar 2024, Reinette Chatre wrote:
> On 3/22/2024 5:30 AM, Ilpo Järvinen wrote:
> > On Wed, 20 Mar 2024, Reinette Chatre wrote:
> >> On 3/11/2024 6:52 AM, Ilpo Järvinen wrote:
> >>> The struct resctrl_val_param has control and monitor groups as char
> >>> arrays but they are not supposed to be mutated within resctrl_val().
> >>>
> >>> Convert the ctrlgrp and mongrp char array within resctrl_val_param to
> >>> plain const char pointers and adjust the strlen() based checks to
> >>> check NULL instead.
> >>>
> >>> Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
> >>> ---
> >>>  tools/testing/selftests/resctrl/resctrl.h   | 4 ++--
> >>>  tools/testing/selftests/resctrl/resctrlfs.c | 8 ++++----
> >>>  2 files changed, 6 insertions(+), 6 deletions(-)
> >>>
> >>> diff --git a/tools/testing/selftests/resctrl/resctrl.h b/tools/testing/selftests/resctrl/resctrl.h
> >>> index 52769b075233..54e5bce4c698 100644
> >>> --- a/tools/testing/selftests/resctrl/resctrl.h
> >>> +++ b/tools/testing/selftests/resctrl/resctrl.h
> >>> @@ -89,8 +89,8 @@ struct resctrl_test {
> >>>   */
> >>>  struct resctrl_val_param {
> >>>  	char		*resctrl_val;
> >>> -	char		ctrlgrp[64];
> >>> -	char		mongrp[64];
> >>> +	const char	*ctrlgrp;
> >>> +	const char	*mongrp;
> >>>  	char		filename[64];
> >>>  	unsigned long	mask;
> >>>  	int		num_of_runs;
> >>> diff --git a/tools/testing/selftests/resctrl/resctrlfs.c b/tools/testing/selftests/resctrl/resctrlfs.c
> >>> index 79cf1c593106..dbe0cc6d74fa 100644
> >>> --- a/tools/testing/selftests/resctrl/resctrlfs.c
> >>> +++ b/tools/testing/selftests/resctrl/resctrlfs.c
> >>> @@ -469,7 +469,7 @@ static int create_grp(const char *grp_name, char *grp, const char *parent_grp)
> >>>  	 * length of grp_name == 0, it means, user wants to use root con_mon
> >>>  	 * grp, so do nothing
> >>>  	 */
> >>
> >> Could you please confirm that the comments are still accurate?
> > 
> > It's not, I missed it.
> > 
> >>> -	if (strlen(grp_name) == 0)
> >>> +	if (!grp_name)
> >>>  		return 0;
> > 
> > But now when looking into the surrounding code, to me it looks the correct 
> > action here is to remove the comment and return -1 instead of 0. It makes
> > this just an internal sanity check that grp_name is provided by the 
> > caller.
> > 
> 
> hmmm ... this should not be an error because the caller is not required
> to provide grp_name. Not providing grp_name has a specific meaning
> of this operating on the CON_MON group and a failure would break flows
> operating on the CON_MON group.

write_bm_pid_to_resctrl() checks for non-NULL mongrp before it calls into 
create_grp() so with current code, I don't think it changes anything. And 
param->ctrlgrp is always non-NULL too so I don't think the return ever 
triggers with the current codebase.

However, I was more talking from API point of view. It feels more natural 
for "create group" function to return error if the caller is inconsistent
with itself by asking to create a group but doesn't want to create a 
group.

-- 
 i.

  reply	other threads:[~2024-03-25 13:14 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-03-11 13:52 [PATCH v2 00/13] selftests/resctrl: resctrl_val() related cleanups & improvements Ilpo Järvinen
2024-03-11 13:52 ` [PATCH v2 01/13] selftests/resctrl: Convert get_mem_bw_imc() fd close to for loop Ilpo Järvinen
2024-03-20  4:50   ` Reinette Chatre
2024-03-22 11:59     ` Ilpo Järvinen
2024-03-22 12:00       ` Ilpo Järvinen
2024-03-11 13:52 ` [PATCH v2 02/13] selftests/resctrl: Calculate resctrl FS derived mem bw over sleep(1) only Ilpo Järvinen
2024-03-20  4:53   ` Reinette Chatre
2024-03-22 12:11     ` Ilpo Järvinen
2024-03-22 17:44       ` Reinette Chatre
2024-03-25 13:08         ` Ilpo Järvinen
2024-03-11 13:52 ` [PATCH v2 03/13] selftests/resctrl: Consolidate get_domain_id() into resctrl_val() Ilpo Järvinen
2024-03-11 13:52 ` [PATCH v2 04/13] selftests/resctrl: Use correct type for pids Ilpo Järvinen
2024-03-11 13:52 ` [PATCH v2 05/13] selftests/resctrl: Cleanup bm_pid and ppid usage & limit scope Ilpo Järvinen
2024-03-11 13:52 ` [PATCH v2 06/13] selftests/resctrl: Rename measure_vals() to measure_mem_bw_vals() & document Ilpo Järvinen
2024-03-11 13:52 ` [PATCH v2 07/13] selftests/resctrl: Add ->measure() callback to resctrl_val_param Ilpo Järvinen
2024-03-11 13:52 ` [PATCH v2 08/13] selftests/resctrl: Add ->init() callback into resctrl_val_param Ilpo Järvinen
2024-03-13 10:15   ` Maciej Wieczor-Retman
2024-03-13 10:28     ` Maciej Wieczor-Retman
2024-03-13 11:37       ` Ilpo Järvinen
2024-03-13 13:53         ` Maciej Wieczor-Retman
2024-03-13 13:59           ` Ilpo Järvinen
2024-03-14 16:07   ` Maciej Wieczor-Retman
2024-03-14 16:09     ` Ilpo Järvinen
2024-03-20  4:58   ` Reinette Chatre
2024-03-22 12:22     ` Ilpo Järvinen
2024-03-11 13:52 ` [PATCH v2 09/13] selftests/resctrl: Simplify bandwidth report type handling Ilpo Järvinen
2024-03-11 13:52 ` [PATCH v2 10/13] selftests/resctrl: Make some strings passed to resctrlfs functions const Ilpo Järvinen
2024-03-11 13:52 ` [PATCH v2 11/13] selftests/resctrl: Convert ctrlgrp & mongrp to pointers Ilpo Järvinen
2024-03-20 15:20   ` Reinette Chatre
2024-03-22 12:30     ` Ilpo Järvinen
2024-03-22 17:44       ` Reinette Chatre
2024-03-25 13:14         ` Ilpo Järvinen [this message]
2024-03-11 13:52 ` [PATCH v2 12/13] selftests/resctrl: Remove mongrp from MBA test Ilpo Järvinen
2024-03-11 13:52 ` [PATCH v2 13/13] selftests/resctrl: Remove test name comparing from write_bm_pid_to_resctrl() Ilpo Järvinen

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=32c9f2ca-a483-97f3-25d1-8e16e2fdf042@linux.intel.com \
    --to=ilpo.jarvinen@linux.intel.com \
    --cc=babu.moger@amd.com \
    --cc=fenghua.yu@intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-kselftest@vger.kernel.org \
    --cc=maciej.wieczor-retman@intel.com \
    --cc=reinette.chatre@intel.com \
    --cc=shuah@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