Re: PROBLEM: Long Workqueue delays.
From: Alan Stern
Date: Mon Aug 17 2020 - 15:41:41 EST
On Mon, Aug 17, 2020 at 12:40:03PM +0100, Jim Baxter wrote:
> We have issues with the workqueue of the kernel overloading the CPU 0
> when we we disconnect a USB stick.
Do you unmount the stick before disconnecting it?
> This results in other items on the shared workqueue being delayed by
> around 6.5 seconds with a default kernel configuration and 2.3 seconds
> on a config tailored for our RCar embedded platform.
>
> I am aware there will be delays on the shared workqueue, are the delays
> we are seeing considered normal?
Assuming the workqueue delay is caused by the USB subsystem, you may be
able to get more information by turning on USB dynamic debugging:
echo 'module usbcore =p' >/sys/kernel/debug/dynamic_debug/control
and seeing what shows up in the dmesg log.
One long-running job should not normally be enough to delay an entire
workqueues. Workqueues are allowed to spawn multiple threads; they are
supposed to resize themselves dynamically as required.
Alan Stern