Public bug reported:

I was wondering why I was seeing lots of wakeup events on my idle system
and tracked it down to containerd.  Running eventstat for 1 sample over
a 10 second interval one can observed that containerd is waking the
system up nearly 10 times a second:

sudo eventstat 10 1
 Event/s PID    %CPU  PR  NI Task                 Init Function                
   13.45  2554   0.0   0   0 Xorg                 it_real_fn                   
    9.53  1539   0.0   0   0 containerd           hrtimer_wakeup               
    8.23  8862   0.0   0   0 Timer                hrtimer_wakeup       

stracing the process one can see rapid futex/pselect calls:

futex(0x55fad4c61010, FUTEX_WAIT, 0, {tv_sec=60, tv_nsec=0}) = 0
pselect6(0, NULL, NULL, NULL, {tv_sec=0, tv_nsec=20000}, NULL) = 0 (Timeout)
futex(0x55fad4c61010, FUTEX_WAIT, 0, {tv_sec=60, tv_nsec=0}) = 0
pselect6(0, NULL, NULL, NULL, {tv_sec=0, tv_nsec=20000}, NULL) = 0 (Timeout)
futex(0x55fad4c61010, FUTEX_WAIT, 0, {tv_sec=60, tv_nsec=0}) = 0
pselect6(0, NULL, NULL, NULL, {tv_sec=0, tv_nsec=20000}, NULL) = 0 (Timeout)
futex(0x55fad4c61010, FUTEX_WAIT, 0, {tv_sec=60, tv_nsec=0}) = 0

The pselect6 system call is basically being used as a high resolution
delay of ~20,000 nanoseconds before polling a futex. This is causing the
high amount of system wakeups that stop the CPU from going into a deep C
sleep state and it's eating power.  Can this be fixed?

** Affects: containerd (Ubuntu)
     Importance: Medium
         Status: New

** Changed in: containerd (Ubuntu)
   Importance: Undecided => Medium

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

Title:
  containerd is polling on a pselect ever 20,000 nanoseconds causing
  rapid system wakeup events

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

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

Reply via email to