Re: kworker/0:3+pm hogging CPU

From: Alan Stern
Date: Mon Jul 20 2020 - 11:12:59 EST


On Mon, Jul 20, 2020 at 04:32:13PM +0200, Michal Hocko wrote:
> On Mon 20-07-20 09:58:57, Alan Stern wrote:
> [...]
> > Can you provide the contents of /sys/kernel/debug/usb/devices and also a
>
> attached.

It looks like you've got just two devices, only one of which is in use,
on bus 1 (the non-SuperSpeed bus) and nothing on bus 2.

> > usbmon trace showing a few rounds of this recurring activity?
>
> This is not my area so I will need some help here. I assume I should
> look for debug/usb/usbmon which contains quite some files for me
> 0s 0u 1s 1t 1u 2s 2t 2u
> most of them provide data when cating them.

The interesting files are 1u (for bus 1) and 2u (for bus 2). At the
moment, though, we don't know which bus the troublesome
device/controller is on.

> > section of the dmesg log with dynamic debugging enabled for the usbcore
> > module, as well.
>
> Could you give me more details steps please?

Do:

sudo echo 'module usbcore =p' >/debug/dynamic_debug/control

Then wait long enough for some interesting messages to appear in the
kernel log (it should only take a few seconds if the worker thread is as
busy as you say) and collect the output from the dmesg command.

To turn dynamic debugging back off when you're finished, use the same
command with "=p" changed to "-p".

Alan Stern