* [PATCH v2] rt-tests: hwlatdetect: Add a grouping separator to tracing_cpumask
@ 2025-06-02 16:03 Costa Shulyupin
2025-06-17 17:33 ` John Kacur
0 siblings, 1 reply; 2+ messages in thread
From: Costa Shulyupin @ 2025-06-02 16:03 UTC (permalink / raw)
To: Costa Shulyupin, linux-rt-users; +Cc: John Kacur, Clark Williams, Tomas Glozar
Writing values longer than 32 bits without a comma results in an error:
echo 100000000 > /sys/kernel/debug/tracing/tracing_cpumask
bash: echo: write error: Value too large for defined data type
The bitmap_pars() kernel function specification:
"Commas group hex digits into chunks.
Each chunk defines exactly 32 bits of the resultant bitmask.
No chunk may specify a value larger than 32 bits (%-EOVERFLOW)"
Add a comma as a grouping separator every 32 bits to a hexadecimal number,
as expected by the bitmap_pars() kernel function.
Signed-off-by: Costa Shulyupin <costa.shul@redhat.com>
---
Cnahges in v2:
- rebased
Signed-off-by: Costa Shulyupin <costa.shul@redhat.com>
---
src/hwlatdetect/hwlatdetect.py | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/src/hwlatdetect/hwlatdetect.py b/src/hwlatdetect/hwlatdetect.py
index dc28f38b751a..946bef33748b 100755
--- a/src/hwlatdetect/hwlatdetect.py
+++ b/src/hwlatdetect/hwlatdetect.py
@@ -33,6 +33,11 @@ def info(istr):
print(istr)
+def group_sep(hex):
+ """ Add a comma as a grouping separator every 32 bits to a hexadecimal number. """
+ return ','.join([hex[max(i - 8, 0):i] for i in range(len(hex), 0, -8)][::-1])
+
+
#
# Class used to manage mounting and umounting the debugfs
# filesystem. Note that if an instance of this class mounts
@@ -494,7 +499,7 @@ def microseconds(sval):
for i in range(l, r + 1):
cpumask |= (1 << i)
debug(f"set tracing_cpumask to {cpumask:x}")
- detect.set("cpumask", f"{cpumask:x}")
+ detect.set("cpumask", group_sep(f"{cpumask:x}"))
info(f"hwlatdetect: test duration {detect.testduration} seconds")
info(f" detector: {detect.type}")
--
2.48.1
^ permalink raw reply related [flat|nested] 2+ messages in thread* Re: [PATCH v2] rt-tests: hwlatdetect: Add a grouping separator to tracing_cpumask
2025-06-02 16:03 [PATCH v2] rt-tests: hwlatdetect: Add a grouping separator to tracing_cpumask Costa Shulyupin
@ 2025-06-17 17:33 ` John Kacur
0 siblings, 0 replies; 2+ messages in thread
From: John Kacur @ 2025-06-17 17:33 UTC (permalink / raw)
To: Costa Shulyupin; +Cc: linux-rt-users, Clark Williams, Tomas Glozar
On Mon, 2 Jun 2025, Costa Shulyupin wrote:
> Writing values longer than 32 bits without a comma results in an error:
>
> echo 100000000 > /sys/kernel/debug/tracing/tracing_cpumask
> bash: echo: write error: Value too large for defined data type
>
> The bitmap_pars() kernel function specification:
> "Commas group hex digits into chunks.
> Each chunk defines exactly 32 bits of the resultant bitmask.
> No chunk may specify a value larger than 32 bits (%-EOVERFLOW)"
>
> Add a comma as a grouping separator every 32 bits to a hexadecimal number,
> as expected by the bitmap_pars() kernel function.
>
> Signed-off-by: Costa Shulyupin <costa.shul@redhat.com>
>
> ---
> Cnahges in v2:
> - rebased
>
> Signed-off-by: Costa Shulyupin <costa.shul@redhat.com>
> ---
> src/hwlatdetect/hwlatdetect.py | 7 ++++++-
> 1 file changed, 6 insertions(+), 1 deletion(-)
>
> diff --git a/src/hwlatdetect/hwlatdetect.py b/src/hwlatdetect/hwlatdetect.py
> index dc28f38b751a..946bef33748b 100755
> --- a/src/hwlatdetect/hwlatdetect.py
> +++ b/src/hwlatdetect/hwlatdetect.py
> @@ -33,6 +33,11 @@ def info(istr):
> print(istr)
>
>
> +def group_sep(hex):
Can you rename the above since hex is a python built-in?
> + """ Add a comma as a grouping separator every 32 bits to a hexadecimal number. """
> + return ','.join([hex[max(i - 8, 0):i] for i in range(len(hex), 0, -8)][::-1])
> +
> +
> #
> # Class used to manage mounting and umounting the debugfs
> # filesystem. Note that if an instance of this class mounts
> @@ -494,7 +499,7 @@ def microseconds(sval):
> for i in range(l, r + 1):
> cpumask |= (1 << i)
> debug(f"set tracing_cpumask to {cpumask:x}")
> - detect.set("cpumask", f"{cpumask:x}")
> + detect.set("cpumask", group_sep(f"{cpumask:x}"))
>
> info(f"hwlatdetect: test duration {detect.testduration} seconds")
> info(f" detector: {detect.type}")
> --
> 2.48.1
>
>
>
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2025-06-17 17:33 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-06-02 16:03 [PATCH v2] rt-tests: hwlatdetect: Add a grouping separator to tracing_cpumask Costa Shulyupin
2025-06-17 17:33 ` John Kacur
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).