On 23 September 2026 15:49:36 BST, Zhan Xusheng <[email protected]> wrote: >lib/test_sysctl.c covers proc_dointvec(), proc_douintvec(), >proc_dostring(), proc_do_large_bitmap() and proc_dou8vec_minmax(), but >none of the jiffies converters. Their int paths report the sign >separately from the magnitude, which is a shape the existing entries do >not exercise at all. > >Add one entry per affected int converter: proc_dointvec_jiffies(), >proc_dointvec_ms_jiffies() and proc_dointvec_userhz_jiffies(). Each is >seeded with HZ jiffies, which is one second in every converter's own >unit, so the three read back as 1, 1000 and 100 respectively.
LGTM, thanks (and I reviewed this properly) Reviewed-by: Bradley Morgan <[email protected]> All tests pass with your patch applied on my PowerPC box: Tested-by: Bradley Morgan <[email protected]> # POWER10 > >Signed-off-by: Zhan Xusheng <[email protected]> >--- > lib/test_sysctl.c | 31 +++++++++++++++++++++++++++++++ > 1 file changed, 31 insertions(+) > >diff --git a/lib/test_sysctl.c b/lib/test_sysctl.c >index 909cfcf76dbf..7718cf4ffd47 100644 >--- a/lib/test_sysctl.c >+++ b/lib/test_sysctl.c >@@ -15,6 +15,7 @@ > #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt > > #include <linux/init.h> >+#include <linux/jiffies.h> > #include <linux/list.h> > #include <linux/module.h> > #include <linux/printk.h> >@@ -48,6 +49,10 @@ struct test_sysctl_data { > > int boot_int; > >+ int int_jiffies; >+ int int_ms_jiffies; >+ int int_userhz_jiffies; >+ > unsigned int uint_0001; > > char string_0001[65]; >@@ -67,6 +72,11 @@ static struct test_sysctl_data test_data = { > > .boot_int = 0, > >+ /* One second in each converter's unit; all three store HZ jiffies. */ Nice comment! >+ .int_jiffies = HZ, >+ .int_ms_jiffies = HZ, >+ .int_userhz_jiffies = HZ, >+ > .uint_0001 = 314, > > .string_0001 = "(none)", >@@ -113,6 +123,27 @@ static const struct ctl_table test_table[] = { > .extra1 = SYSCTL_ZERO, > .extra2 = SYSCTL_ONE, > }, >+ { >+ .procname = "int_jiffies", >+ .data = &test_data.int_jiffies, >+ .maxlen = sizeof(int), >+ .mode = 0644, >+ .proc_handler = proc_dointvec_jiffies, >+ }, >+ { >+ .procname = "int_ms_jiffies", >+ .data = &test_data.int_ms_jiffies, >+ .maxlen = sizeof(int), >+ .mode = 0644, >+ .proc_handler = proc_dointvec_ms_jiffies, >+ }, >+ { >+ .procname = "int_userhz_jiffies", >+ .data = &test_data.int_userhz_jiffies, >+ .maxlen = sizeof(int), >+ .mode = 0644, >+ .proc_handler = proc_dointvec_userhz_jiffies, >+ }, This looks correct to me. > { > .procname = "uint_0001", > .data = &test_data.uint_0001, > --- Thanks! "I'm not a very positive person" - Linus torvalds

