summaryrefslogtreecommitdiffstats
path: root/tools/perf/util/parse-events.h
diff options
context:
space:
mode:
authorJoe Lawrence <joe.lawrence@redhat.com>2022-06-02 16:32:33 -0400
committerPetr Mladek <pmladek@suse.com>2022-06-15 10:29:10 +0200
commit55eb9a6c8bf3e2099863118ef53e02d9f44f85a8 (patch)
tree64a40e61665e62d2fa4c2d5b648611e34d6dd6fd /tools/perf/util/parse-events.h
parent7c9e960c636306f632ccae623bf94b2b53d35cbd (diff)
downloadlinux-55eb9a6c8bf3e2099863118ef53e02d9f44f85a8.tar.bz2
selftests/livepatch: better synchronize test_klp_callbacks_busy
The test_klp_callbacks_busy module conditionally blocks a future livepatch transition by busy waiting inside its workqueue function, busymod_work_func(). After scheduling this work, a test livepatch is loaded, introducing the transition under test. Both events are marked in the kernel log for later verification, but there is no synchronization to ensure that busymod_work_func() logs its function entry message before subsequent selftest commands log their own messages. This can lead to a rare test failure due to unexpected ordering like: --- expected +++ result @@ -1,7 +1,7 @@ % modprobe test_klp_callbacks_busy block_transition=Y test_klp_callbacks_busy: test_klp_callbacks_busy_init -test_klp_callbacks_busy: busymod_work_func enter % modprobe test_klp_callbacks_demo +test_klp_callbacks_busy: busymod_work_func enter livepatch: enabling patch 'test_klp_callbacks_demo' livepatch: 'test_klp_callbacks_demo': initializing patching transition test_klp_callbacks_demo: pre_patch_callback: vmlinux Force the module init function to wait until busymod_work_func() has started (and logged its message), before exiting to the next selftest steps. Fixes: 547840bd5ae5 ("selftests/livepatch: simplify test-klp-callbacks busy target tests") Signed-off-by: Joe Lawrence <joe.lawrence@redhat.com> Reviewed-by: Petr Mladek <pmladek@suse.com> Signed-off-by: Petr Mladek <pmladek@suse.com> Link: https://lore.kernel.org/r/20220602203233.979681-1-joe.lawrence@redhat.com
Diffstat (limited to 'tools/perf/util/parse-events.h')
0 files changed, 0 insertions, 0 deletions