2023-11-28 22:11:46

by angquan yu

[permalink] [raw]
Subject: [PATCH] Resolve Macro Expansion Warning in nx_huge_pages_test.c

From: angquan yu <[email protected]>

This commit fixes a compiler warning in the file
x86_64/nx_huge_pages_test.c, which was caused by improper
macro expansion of '__TEST_REQUIRE'.

Warning addressed:
- The warning was triggered by the expansion of the '__TEST_REQUIRE'
macro, indicating a potential issue in how the macro was being
used or expanded.

Changes made:
- Modified the usage of the '__TEST_REQUIRE' macro to ensure proper
expansion. This involved explicitly passing the expected magic token
(MAGIC_TOKEN) and a descriptive error message to the macro.
- The fix enhances clarity in the macro usage and ensures that
the compiler correctly interprets the intended logic, thereby
resolving the warning.

Signed-off-by: angquan yu <[email protected]>
---
tools/testing/selftests/kvm/x86_64/nx_huge_pages_test.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/tools/testing/selftests/kvm/x86_64/nx_huge_pages_test.c b/tools/testing/selftests/kvm/x86_64/nx_huge_pages_test.c
index 18ac5c195..323ede6b6 100644
--- a/tools/testing/selftests/kvm/x86_64/nx_huge_pages_test.c
+++ b/tools/testing/selftests/kvm/x86_64/nx_huge_pages_test.c
@@ -259,7 +259,8 @@ int main(int argc, char **argv)
__TEST_REQUIRE(token == MAGIC_TOKEN,
"This test must be run with the magic token %d.\n"
"This is done by nx_huge_pages_test.sh, which\n"
- "also handles environment setup for the test.");
+ "also handles environment setup for the test.",
+ MAGIC_TOKEN);

run_test(reclaim_period_ms, false, reboot_permissions);
run_test(reclaim_period_ms, true, reboot_permissions);
--
2.39.2


2023-11-29 01:21:57

by Sean Christopherson

[permalink] [raw]
Subject: Re: [PATCH] Resolve Macro Expansion Warning in nx_huge_pages_test.c

For the shortlog, specify the scope/domain/namespace of the patch. For KVM
selftests, that's "KVM: selftests:". And ideally, describe the impact of the
change in a more conversational way, as opposed to stating the literal effect of
the patch. Stating that the patch fixes a warning is obviously accurate, but it
doesn't provide any insight as to the severity of the issue, i.e. what's actually
broken and being fixed.

E.g.

KVM: selftests: Actually print out magic token in NX hugepages skip message

On Tue, Nov 28, 2023, angquan yu wrote:
> From: angquan yu <[email protected]>
>
> This commit fixes a compiler warning in the file
> x86_64/nx_huge_pages_test.c, which was caused by improper
> macro expansion of '__TEST_REQUIRE'.
>
> Warning addressed:
> - The warning was triggered by the expansion of the '__TEST_REQUIRE'
> macro, indicating a potential issue in how the macro was being
> used or expanded.
>
> Changes made:
> - Modified the usage of the '__TEST_REQUIRE' macro to ensure proper
> expansion. This involved explicitly passing the expected magic token
> (MAGIC_TOKEN) and a descriptive error message to the macro.
> - The fix enhances clarity in the macro usage and ensures that
> the compiler correctly interprets the intended logic, thereby
> resolving the warning.

Fixing warnings is nice, but warnings are a means to an end, i.e. they identify
things that *might* be actual problems. The real issue is that the test will
spit out garbage instead of the magic number.

All that said, applied to kvm-x86 selftests, with a heavily rewritten shortlog
and changelog (I had the same fix locally, so more or less just grabbed what I
had already written).

Thanks!

[1/1] KVM: selftests: Actually print out magic token in NX hugepages skip message
https://github.com/kvm-x86/linux/commit/3b99d46a1170

>
> Signed-off-by: angquan yu <[email protected]>
> ---
> tools/testing/selftests/kvm/x86_64/nx_huge_pages_test.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/tools/testing/selftests/kvm/x86_64/nx_huge_pages_test.c b/tools/testing/selftests/kvm/x86_64/nx_huge_pages_test.c
> index 18ac5c195..323ede6b6 100644
> --- a/tools/testing/selftests/kvm/x86_64/nx_huge_pages_test.c
> +++ b/tools/testing/selftests/kvm/x86_64/nx_huge_pages_test.c
> @@ -259,7 +259,8 @@ int main(int argc, char **argv)
> __TEST_REQUIRE(token == MAGIC_TOKEN,
> "This test must be run with the magic token %d.\n"
> "This is done by nx_huge_pages_test.sh, which\n"
> - "also handles environment setup for the test.");
> + "also handles environment setup for the test.",
> + MAGIC_TOKEN);
>
> run_test(reclaim_period_ms, false, reboot_permissions);
> run_test(reclaim_period_ms, true, reboot_permissions);
> --
> 2.39.2
>