On 3/2/23 10:23, Petr Mladek wrote: > On Wed 2023-03-01 03:12:08, Tomohiro Misono (Fujitsu) wrote: >> <snip> >>> Testing >>> ======= >>> >>> - I have run all of the livepatch selftests successfully. I have written a >>> couple of extra selftests myself which I will be posting separately >> Hi, >> >> What test configuration/environment you are using for test? >> When I tried kselftest with fedora based config on VM, I got errors >> because livepatch transition won't finish until signal is sent >> (i.e. it takes 15s for every transition). >> >> [excerpt from test result] >> ``` >> $ sudo ./test-livepatch.sh >> TEST: basic function patching ... not ok >> >> --- expected >> +++ result >> @@ -2,11 +2,13 @@ >> livepatch: enabling patch 'test_klp_livepatch' >> livepatch: 'test_klp_livepatch': initializing patching transition >> livepatch: 'test_klp_livepatch': starting patching transition >> +livepatch: signaling remaining tasks >> livepatch: 'test_klp_livepatch': completing patching transition >> ``` > > It might be interesting to see what process is blocking the > transition. The transition state is visible in > /proc/<pid>/patch_state. > > The transition is blocked when a process is in KLP_UNPATCHED state. > It is defined in include/linux/livepatch.h: > > #define KLP_UNPATCHED 0 > > Well, the timing against the transition is important. The following > might help to see the blocking processes: > > $> modprobe livepatch-sample ; \ > sleep 1; \ > for proc_path in \ > `grep "\-1" /proc/*/patch_state | cut -d '/' -f-3` ; \ > do \ > cat $proc_path/comm ; \ > cat $proc_path/stack ; \ > echo === ; \ > done > > After this the livepatch has to be manualy disabled and removed > > $> echo 0 >/sys/kernel/livepatch/livepatch_sample/enabled > $> rmmod livepatch_sample > > Best Regards, > Petr Thanks for the suggestion. I will try to reproduce the problem and look at what process(es) are holding up the livepatch. Madhavan