Message ID | 20240112001240.1710962-1-lucas.demarchi@intel.com |
---|---|
State | New |
Headers | show |
Series | kunit: Mark filter_glob param as rw | expand |
On Thu, Jan 11, 2024 at 7:13 PM Lucas De Marchi <lucas.demarchi@intel.com> wrote: > > By allowing the filter_glob parameter to be written to, it's possible to > tweak the testsuites that will be executed on new module loads. This > makes it easier to run specific tests without having to reload kunit and > provides a way to filter tests on real HW even if kunit is builtin. > Example for xe driver: > > 1) Run just 1 test > # echo -n xe_bo > /sys/module/kunit/parameters/filter_glob > # modprobe -r xe_live_test > # modprobe xe_live_test > # ls /sys/kernel/debug/kunit/ > xe_bo > > 2) Run all tests > # echo \* > /sys/module/kunit/parameters/filter_glob > # modprobe -r xe_live_test > # modprobe xe_live_test > # ls /sys/kernel/debug/kunit/ > xe_bo xe_dma_buf xe_migrate xe_mocs > > References: https://lore.kernel.org/intel-xe/dzacvbdditbneiu3e3fmstjmttcbne44yspumpkd6sjn56jqpk@vxu7sksbqrp6/ > Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com> Hello! I have tested this and this looks good to me. I agree this is very helpful and I wonder if we should do the same with the other module parameters (filter, filter_action). It did worry me to make filter_glob writable due to the recent patch that requires the output of filtering to be a valid virtual address but I think there is a sufficient amount of checking of filter_glob. Thanks! -Rae Reviewed-by: Rae Moar <rmoar@google.com> > --- > lib/kunit/executor.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/lib/kunit/executor.c b/lib/kunit/executor.c > index 1236b3cd2fbb..30ed9d321c19 100644 > --- a/lib/kunit/executor.c > +++ b/lib/kunit/executor.c > @@ -31,7 +31,7 @@ static char *filter_glob_param; > static char *filter_param; > static char *filter_action_param; > > -module_param_named(filter_glob, filter_glob_param, charp, 0400); > +module_param_named(filter_glob, filter_glob_param, charp, 0600); > MODULE_PARM_DESC(filter_glob, > "Filter which KUnit test suites/tests run at boot-time, e.g. list* or list*.*del_test"); > module_param_named(filter, filter_param, charp, 0400); > -- > 2.40.1 > > -- > You received this message because you are subscribed to the Google Groups "KUnit Development" group. > To unsubscribe from this group and stop receiving emails from it, send an email to kunit-dev+unsubscribe@googlegroups.com. > To view this discussion on the web visit https://groups.google.com/d/msgid/kunit-dev/20240112001240.1710962-1-lucas.demarchi%40intel.com.
On Thu, Jan 18, 2024 at 05:23:33PM -0500, Rae Moar wrote: >On Thu, Jan 11, 2024 at 7:13 PM Lucas De Marchi ><lucas.demarchi@intel.com> wrote: >> >> By allowing the filter_glob parameter to be written to, it's possible to >> tweak the testsuites that will be executed on new module loads. This >> makes it easier to run specific tests without having to reload kunit and >> provides a way to filter tests on real HW even if kunit is builtin. >> Example for xe driver: >> >> 1) Run just 1 test >> # echo -n xe_bo > /sys/module/kunit/parameters/filter_glob >> # modprobe -r xe_live_test >> # modprobe xe_live_test >> # ls /sys/kernel/debug/kunit/ >> xe_bo >> >> 2) Run all tests >> # echo \* > /sys/module/kunit/parameters/filter_glob >> # modprobe -r xe_live_test >> # modprobe xe_live_test >> # ls /sys/kernel/debug/kunit/ >> xe_bo xe_dma_buf xe_migrate xe_mocs >> >> References: https://lore.kernel.org/intel-xe/dzacvbdditbneiu3e3fmstjmttcbne44yspumpkd6sjn56jqpk@vxu7sksbqrp6/ >> Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com> > >Hello! > >I have tested this and this looks good to me. I agree this is very >helpful and I wonder if we should do the same with the other module >parameters (filter, filter_action). yeah, after I sent this I was wondering about the other parameters. I don't have a use for them right now, but I can try a few things and spin a new version if people find it useful. > >It did worry me to make filter_glob writable due to the recent patch >that requires the output of filtering to be a valid virtual address >but I think there is a sufficient amount of checking of filter_glob. > >Thanks! >-Rae > >Reviewed-by: Rae Moar <rmoar@google.com> thanks Lucas De Marchi
diff --git a/lib/kunit/executor.c b/lib/kunit/executor.c index 1236b3cd2fbb..30ed9d321c19 100644 --- a/lib/kunit/executor.c +++ b/lib/kunit/executor.c @@ -31,7 +31,7 @@ static char *filter_glob_param; static char *filter_param; static char *filter_action_param; -module_param_named(filter_glob, filter_glob_param, charp, 0400); +module_param_named(filter_glob, filter_glob_param, charp, 0600); MODULE_PARM_DESC(filter_glob, "Filter which KUnit test suites/tests run at boot-time, e.g. list* or list*.*del_test"); module_param_named(filter, filter_param, charp, 0400);
By allowing the filter_glob parameter to be written to, it's possible to tweak the testsuites that will be executed on new module loads. This makes it easier to run specific tests without having to reload kunit and provides a way to filter tests on real HW even if kunit is builtin. Example for xe driver: 1) Run just 1 test # echo -n xe_bo > /sys/module/kunit/parameters/filter_glob # modprobe -r xe_live_test # modprobe xe_live_test # ls /sys/kernel/debug/kunit/ xe_bo 2) Run all tests # echo \* > /sys/module/kunit/parameters/filter_glob # modprobe -r xe_live_test # modprobe xe_live_test # ls /sys/kernel/debug/kunit/ xe_bo xe_dma_buf xe_migrate xe_mocs References: https://lore.kernel.org/intel-xe/dzacvbdditbneiu3e3fmstjmttcbne44yspumpkd6sjn56jqpk@vxu7sksbqrp6/ Signed-off-by: Lucas De Marchi <lucas.demarchi@intel.com> --- lib/kunit/executor.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)