Re: power-off delay/hang due to commit 6d25be57 (mainline)

From: Sebastian Andrzej Siewior
Date: Wed May 13 2020 - 18:04:33 EST


On 2020-05-08 23:30:45 [+0200], Stephen Berman wrote:
> > Can you log the output on the serial console?
>
> How do I do that?

The spec for your mainboard says "serial port header". You would need to
connect a cable there to another computer and log its output.
The alternative would be to delay the output on the console and use a
camera.

> > If the commit you cited is really the problem then it would mean that a
> > worker isn't scheduled for some reason. Could you please enable
> > CONFIG_WQ_WATCHDOG to see if workqueue core code notices that a worker
> > isn't making progress?
>
> How will I know if that happens, is there a specific message in the tty?

On the tty console where you see the "timing out command, waited"
message, there should be something starting with
|BUG: workqueue lockup - pool

following with the pool information that got stuck. That code checks the
workqueues every 30secs by default. So if you waited >= 60secs then
system is not detecting a stall.

As far as I can tell, there is nothing special on your system. The CD
and disk drives are served by the AHCI controller. There is no special
SCSI/SATA/SAS controller.
Right now I have no idea how the workqueues fit in the picture. Could
you please check if the stall-dector says something?
Is it possible to show me output when the timeout message comes? My
guess is that the system is going down and before unounting/remount RO
the filesystem it flushes its last data. But this is done before issuing
the "halt-syscall".

> Thanks for your reply.
>
> Steve Berman

Sebastian