[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#966703: linux-image-4.19.0-10-amd64: kworker process with permanent high CPU load



Hi Salvatore,

yesterday, I installed the kernel 5.6.0 from the Buster Backports and saw again a kworker process with high CPU load. Oddly, this morning, my laptop didn't boot, so I decided to do a fresh install of Debian Buster 10.5.0 (image with non-free firmware because of my wifi card) and installed only thunderbird and vim. There is still one kworker process with permanently high CPU load.

I gave the dyndbg command that you told me as a kernel parameter upon booting and have appended the dmesg output as file dmesg.txt.gz.

Cheers,

Dirk.

Am 11.08.20 um 21:21 schrieb Salvatore Bonaccorso:
Hi Dirk,

On Tue, Aug 11, 2020 at 12:58:15PM +0200, Dirk Kostrewa wrote:
Hi Salavatore,

as an additional control, I have completely uninstalled the nvidia graphics
driver and repeated the kworker observations using the nouveau graphics
driver with the kernel 4.19.0-10-amd64. This time, there are even two
kworker processes constantly running with high CPU load:

$ top
top - 12:37:20 up 10 min,  4 users,  load average: 2.79, 2.54, 1.56
Tasks: 197 total,   3 running, 194 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.0 us, 24.2 sy,  0.0 ni, 74.2 id,  0.0 wa, 0.0 hi,  1.6 si,  0.0
st
MiB Mem :  15889.4 total,  13964.7 free,    626.8 used, 1297.9 buff/cache
MiB Swap:      0.0 total,      0.0 free,      0.0 used. 14849.1 avail Mem

   PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
   164 root      20   0       0      0      0 R  80.0 0.0   8:41.67
kworker/6:2+pm
   455 root      20   0       0      0      0 R  80.0 0.0   8:28.23
kworker/2:2+pm
    22 root      20   0       0      0      0 S  20.0 0.0   2:14.82
ksoftirqd/2
    42 root      20   0       0      0      0 S  20.0 0.0   2:08.67
ksoftirqd/6
     1 root      20   0  169644  10212   7796 S   0.0 0.1   0:01.52 systemd
     2 root      20   0       0      0      0 S   0.0 0.0   0:00.00 kthreadd
     3 root       0 -20       0      0      0 I   0.0 0.0   0:00.00 rcu_gp
     4 root       0 -20       0      0      0 I   0.0 0.0   0:00.00
rcu_par_gp
     6 root       0 -20       0      0      0 I   0.0 0.0   0:00.00
kworker/0:0H-kblockd
     7 root      20   0       0      0      0 I   0.0 0.0   0:00.05
kworker/u16:0-event+

The stacks of the two kworker processes show the same output:

[<0>] 0xffffffffffffffff

I have appended the top 5000 lines tracing as a compressed ascii file
out-cut.txt,gz and the dmesg output as compressed ascii file dmesg.txt.gz.

I hope, this helps to find out where the problem with the high CPU load of
the kworker processes come from.
Thanks this is very helpful.

I suspect what you are seeing is an issue with the usb hubport present
before but now uncovered due to the upstream change e9fb08d617bf
("xhci: prevent bus suspend if a roothub port detected a over-current
condition")[1], which was as well backported to v4.19.y in 4.19.119.

Can you add some dynamic debugging on the 'drivers/usb/'[2] ideally at
boot time. On runtime it is

# echo 'file drivers/usb/* +p;' > /sys/kernel/debug/dynamic_debug/control

or as kernel parameter to have enable the debug messages at boot time
already:

dyndbg="file drivers/usb/* +p;"

Can you attach the dmesg with the enabled debugging?

Regards,
Salvatore

  [1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=e9fb08d617bfae5471d902112667d0eeb9dee3c4
  [2] https://www.kernel.org/doc/html/latest/admin-guide/dynamic-debug-howto.html

Attachment: dmesg.txt.gz
Description: application/gzip


Reply to: