From: "Ilpo Järvinen" <ilpo.jarvinen@linux.intel.com>
To: Babu Moger <babu.moger@amd.com>
Cc: fenghua.yu@intel.com,
"Reinette Chatre" <reinette.chatre@intel.com>,
shuah@kernel.org, LKML <linux-kernel@vger.kernel.org>,
linux-kselftest@vger.kernel.org,
"Maciej Wieczór-Retman" <maciej.wieczor-retman@intel.com>,
peternewman@google.com, eranian@google.com
Subject: Re: [PATCH v2] selftests/resctrl: Fix noncont_cat_run_test for AMD
Date: Mon, 10 Jun 2024 19:20:55 +0300 (EEST) [thread overview]
Message-ID: <91052cec-071b-7cc7-5f85-4fa29ec2aea4@linux.intel.com> (raw)
In-Reply-To: <7679d70a0ea939db13ae9dac20de56644460d6df.1718035091.git.babu.moger@amd.com>
On Mon, 10 Jun 2024, Babu Moger wrote:
> The selftest noncont_cat_run_test fails on AMD with the warnings. Reason
noncont_cat_run_test()
(In general, use () when refering to a function, same thing in the
shortlog).
"the warnings" sounds like I should know about what warning it fails with
but there's no previous context which tells that information. I suggest
you either use "a warning" or quote the warning it fails with into the
commit message.
> is, AMD supports non contiguous CBM masks but does not report it via CPUID.
non-contiguous
> Update noncont_cat_run_test to check for the vendor when verifying CPUID.
()
> Fixes: ae638551ab64 ("selftests/resctrl: Add non-contiguous CBMs CAT test")
> Signed-off-by: Babu Moger <babu.moger@amd.com>
> ---
> v2: Moved the non contiguous verification to a new function
> arch_supports_noncont_cat.
>
> v1:
> This was part of the series
> https://lore.kernel.org/lkml/cover.1708637563.git.babu.moger@amd.com/
> Sending this as a separate fix per review comments.
> ---
> tools/testing/selftests/resctrl/cat_test.c | 32 +++++++++++++++-------
> 1 file changed, 22 insertions(+), 10 deletions(-)
>
> diff --git a/tools/testing/selftests/resctrl/cat_test.c b/tools/testing/selftests/resctrl/cat_test.c
> index d4dffc934bc3..742782438ca3 100644
> --- a/tools/testing/selftests/resctrl/cat_test.c
> +++ b/tools/testing/selftests/resctrl/cat_test.c
> @@ -288,11 +288,30 @@ static int cat_run_test(const struct resctrl_test *test, const struct user_param
> return ret;
> }
>
> +static bool arch_supports_noncont_cat(const struct resctrl_test *test)
> +{
> + unsigned int eax, ebx, ecx, edx;
> +
> + /* AMD always supports non-contiguous CBM. */
> + if (get_vendor() == ARCH_AMD)
> + return true;
> +
> + /* Intel support for non-contiguous CBM needs to be discovered. */
> + if (!strcmp(test->resource, "L3"))
> + __cpuid_count(0x10, 1, eax, ebx, ecx, edx);
> + else if (!strcmp(test->resource, "L2"))
> + __cpuid_count(0x10, 2, eax, ebx, ecx, edx);
> + else
> + return false;
> +
> + return ((ecx >> 3) & 1);
> +}
> +
> static int noncont_cat_run_test(const struct resctrl_test *test,
> const struct user_params *uparams)
> {
> unsigned long full_cache_mask, cont_mask, noncont_mask;
> - unsigned int eax, ebx, ecx, edx, sparse_masks;
> + unsigned int sparse_masks;
> int bit_center, ret;
> char schemata[64];
>
> @@ -301,15 +320,8 @@ static int noncont_cat_run_test(const struct resctrl_test *test,
> if (ret)
> return ret;
>
> - if (!strcmp(test->resource, "L3"))
> - __cpuid_count(0x10, 1, eax, ebx, ecx, edx);
> - else if (!strcmp(test->resource, "L2"))
> - __cpuid_count(0x10, 2, eax, ebx, ecx, edx);
> - else
> - return -EINVAL;
> -
> - if (sparse_masks != ((ecx >> 3) & 1)) {
> - ksft_print_msg("CPUID output doesn't match 'sparse_masks' file content!\n");
> + if (arch_supports_noncont_cat(test) != sparse_masks) {
> + ksft_print_msg("Hardware and kernel differ on non-contiguous CBM support!\n");
> return 1;
This looks better than the previous version, thanks.
--
i.
next prev parent reply other threads:[~2024-06-10 16:21 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-06-05 21:36 [PATCH] selftests/resctrl: Fix noncont_cat_run_test for AMD Babu Moger
2024-06-06 20:33 ` Reinette Chatre
2024-06-06 23:09 ` Moger, Babu
2024-06-06 23:58 ` Reinette Chatre
2024-06-07 18:16 ` Moger, Babu
2024-06-07 21:47 ` Reinette Chatre
2024-06-07 22:35 ` Moger, Babu
2024-06-07 10:21 ` Ilpo Järvinen
2024-06-10 16:00 ` [PATCH v2] " Babu Moger
2024-06-10 16:20 ` Ilpo Järvinen [this message]
2024-06-10 17:51 ` Moger, Babu
2024-06-10 21:28 ` Reinette Chatre
2024-06-11 6:50 ` Ilpo Järvinen
2024-06-10 21:32 ` Reinette Chatre
2024-06-10 23:11 ` Moger, Babu
2024-06-11 23:14 ` Reinette Chatre
2024-06-11 22:18 ` [PATCH v3] selftests/resctrl: Fix non-contiguous CBM " Babu Moger
2024-06-12 7:33 ` Ilpo Järvinen
2024-06-26 16:55 ` Reinette Chatre
2024-06-26 19:25 ` Shuah Khan
2024-06-26 20:44 ` Reinette Chatre
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=91052cec-071b-7cc7-5f85-4fa29ec2aea4@linux.intel.com \
--to=ilpo.jarvinen@linux.intel.com \
--cc=babu.moger@amd.com \
--cc=eranian@google.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=peternewman@google.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 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.