[Bug 1944409] [NEW] Systemd uses CPU after wakeup due to power_supply BAT0 (battery) continued polling

Jean 1944409 at bugs.launchpad.net
Tue Sep 21 06:55:48 UTC 2021


Public bug reported:

My setup:
 - Dell Latitude 7520
 - Dell WD15 USB C docking station
 - Ubuntu 20.04.3
 - systemd 245.4-4ubuntu3.13
 - uname -a:
Linux CLIFMI085 5.13.0-1012-oem #16-Ubuntu SMP Tue Sep 7 09:23:08 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

I leave my laptop docked and, after waking it up from sleep, the fans
start blowing. After a quick inspection with top/htop, I always see
/usr/lib/systemd/systemd-udev consuming 50+% of my CPU.

After a quick search, I discover that I can use `udevadm monitor` to
check what device is making all this fuss, and this is the output:

UDEV  [92591.827159] change   /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0A:00/power_supply/BAT0 (power_supply)
UDEV  [92591.873819] change   /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0A:00/power_supply/BAT0 (power_supply)
UDEV  [92591.920022] change   /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0A:00/power_supply/BAT0 (power_supply)
UDEV  [92591.967005] change   /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0A:00/power_supply/BAT0 (power_supply)
UDEV  [92592.018200] change   /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0A:00/power_supply/BAT0 (power_supply)
UDEV  [92592.068351] change   /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0A:00/power_supply/BAT0 (power_supply)
UDEV  [92592.115100] change   /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0A:00/power_supply/BAT0 (power_supply)
UDEV  [92592.166201] change   /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0A:00/power_supply/BAT0 (power_supply)
UDEV  [92592.213318] change   /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0A:00/power_supply/BAT0 (power_supply)
UDEV  [92592.261046] change   /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0A:00/power_supply/BAT0 (power_supply)
UDEV  [92592.308824] change   /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0A:00/power_supply/BAT0 (power_supply)
UDEV  [92592.356577] change   /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0A:00/power_supply/BAT0 (power_supply)
UDEV  [92592.403766] change   /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0A:00/power_supply/BAT0 (power_supply)
UDEV  [92592.451164] change   /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0A:00/power_supply/BAT0 (power_supply)

As you can see, the battery status is being polled every 0.05s. To fix
this, I just need to restart the service with:

sudo systemctl restart systemd-udevd systemd-udevd-kernel.socket
systemd-udevd-control.socket

Afterwards, this is the output of `udevadm monitor`:

KERNEL[92739.612371] change   /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0A:00/power_supply/BAT0 (power_supply)
UDEV  [92739.646888] change   /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0A:00/power_supply/BAT0 (power_supply)
KERNEL[92741.076823] change   /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0A:00/power_supply/BAT0 (power_supply)
UDEV  [92741.099370] change   /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0A:00/power_supply/BAT0 (power_supply)
KERNEL[92742.539438] change   /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0A:00/power_supply/BAT0 (power_supply)
UDEV  [92742.573812] change   /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0A:00/power_supply/BAT0 (power_supply)

As you can see, the battery is now being polled every ~1.5s, which is
fine.

** Affects: systemd (Ubuntu)
     Importance: Undecided
         Status: New

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

Title:
  Systemd uses CPU after wakeup due to power_supply BAT0 (battery)
  continued polling

Status in systemd package in Ubuntu:
  New

Bug description:
  My setup:
   - Dell Latitude 7520
   - Dell WD15 USB C docking station
   - Ubuntu 20.04.3
   - systemd 245.4-4ubuntu3.13
   - uname -a:
  Linux CLIFMI085 5.13.0-1012-oem #16-Ubuntu SMP Tue Sep 7 09:23:08 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

  I leave my laptop docked and, after waking it up from sleep, the fans
  start blowing. After a quick inspection with top/htop, I always see
  /usr/lib/systemd/systemd-udev consuming 50+% of my CPU.

  After a quick search, I discover that I can use `udevadm monitor` to
  check what device is making all this fuss, and this is the output:

  UDEV  [92591.827159] change   /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0A:00/power_supply/BAT0 (power_supply)
  UDEV  [92591.873819] change   /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0A:00/power_supply/BAT0 (power_supply)
  UDEV  [92591.920022] change   /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0A:00/power_supply/BAT0 (power_supply)
  UDEV  [92591.967005] change   /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0A:00/power_supply/BAT0 (power_supply)
  UDEV  [92592.018200] change   /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0A:00/power_supply/BAT0 (power_supply)
  UDEV  [92592.068351] change   /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0A:00/power_supply/BAT0 (power_supply)
  UDEV  [92592.115100] change   /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0A:00/power_supply/BAT0 (power_supply)
  UDEV  [92592.166201] change   /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0A:00/power_supply/BAT0 (power_supply)
  UDEV  [92592.213318] change   /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0A:00/power_supply/BAT0 (power_supply)
  UDEV  [92592.261046] change   /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0A:00/power_supply/BAT0 (power_supply)
  UDEV  [92592.308824] change   /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0A:00/power_supply/BAT0 (power_supply)
  UDEV  [92592.356577] change   /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0A:00/power_supply/BAT0 (power_supply)
  UDEV  [92592.403766] change   /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0A:00/power_supply/BAT0 (power_supply)
  UDEV  [92592.451164] change   /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0A:00/power_supply/BAT0 (power_supply)

  As you can see, the battery status is being polled every 0.05s. To fix
  this, I just need to restart the service with:

  sudo systemctl restart systemd-udevd systemd-udevd-kernel.socket
  systemd-udevd-control.socket

  Afterwards, this is the output of `udevadm monitor`:

  KERNEL[92739.612371] change   /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0A:00/power_supply/BAT0 (power_supply)
  UDEV  [92739.646888] change   /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0A:00/power_supply/BAT0 (power_supply)
  KERNEL[92741.076823] change   /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0A:00/power_supply/BAT0 (power_supply)
  UDEV  [92741.099370] change   /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0A:00/power_supply/BAT0 (power_supply)
  KERNEL[92742.539438] change   /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0A:00/power_supply/BAT0 (power_supply)
  UDEV  [92742.573812] change   /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0A:00/power_supply/BAT0 (power_supply)

  As you can see, the battery is now being polled every ~1.5s, which is
  fine.

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




More information about the foundations-bugs mailing list