Test-case on Xenial;

$ ls -1d /sys/devices/system/cpu/cpu[0-9]*
/sys/devices/system/cpu/cpu0
/sys/devices/system/cpu/cpu1


Original
--------

$ uname -rv
4.4.0-144-generic #170-Ubuntu SMP Thu Mar 14 11:56:20 UTC 2019

$ sudo insmod kmod-stopper/kmod-stopper.ko
[   74.198379] mod_init() :: this cpu = 0x1, that cpu = 0x0
[   74.199613] mod_init() :: that_cpu_stopper_task = ffff88003d80e600, comm = 
migration/0
[   74.206194] kp2/stop_two_cpus() :: this cpu = 0x1, that cpu = 0x0
[   74.206196] do_nothing() :: this cpu = 0x0, that cpu = 0x1
[   74.206201] kp1/pick_next_task_fair() :: this cpu = 0x0, that cpu = 0x1
[   74.206203] kp1/pick_next_task_fair() :: before sleep (1000 msecs)
[   74.212759] kp2/stop_two_cpus() :: before sleep (500 msecs)
[   74.710138] kp2/stop_two_cpus() :: after  sleep (500 msecs)
[   75.198324] kp1/pick_next_task_fair() :: after  sleep (1000 msecs)
[   75.199814] kp1/pick_next_task_fair() :: stopping other cpu...
<hang>

The test-case only failed 2 out of 50+ tests.


Patched:
-------

$ uname -rv
4.4.0-144-generic #170+test20190320b1 SMP Wed Mar 20 18:35:06 UTC 2019

$ sudo insmod kmod-stopper/kmod-stopper.ko
[   85.958527] mod_init() :: this cpu = 0x1, that cpu = 0x0
[   85.965876] mod_init() :: that_cpu_stopper_task = ffff88003d80e600, comm = 
migration/0
[   85.993446] kp2/stop_two_cpus() :: this cpu = 0x1, that cpu = 0x0
[   85.993471] do_nothing() :: this cpu = 0x0, that cpu = 0x1
[   85.993477] kp1/pick_next_task_fair() :: this cpu = 0x0, that cpu = 0x1
[   85.993480] kp1/pick_next_task_fair() :: before sleep (1000 msecs)
[   86.019469] kp2/stop_two_cpus() :: before sleep (500 msecs)
[   86.521688] kp2/stop_two_cpus() :: after  sleep (500 msecs)
[   86.987662] kp1/pick_next_task_fair() :: after  sleep (1000 msecs)
[   86.989427] kp1/pick_next_task_fair() :: stopping other cpu...
[   86.991109] do_nothing() :: this cpu = 0x1, that cpu = 0x0
[   86.992615] do_nothing() :: this cpu = 0x1, that cpu = 0x0
<finished>

It passes every time (50+ tests).

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1821259

Title:
  Hard lockup in 2 CPUs due to deadlock in cpu_stoppers

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1821259/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to