Linux block layer
 help / color / mirror / Atom feed
From: Christian Hewitt <christianshewitt@gmail.com>
To: linux-block@vger.kernel.org, linux-usb@vger.kernel.org,
	linux-amlogic@lists.infradead.org
Cc: furkan@fkardame.com, Brad Harper <bjharper@gmail.com>
Subject: Deadlock under load with Linux 5.9 and other recent kernels
Date: Sat, 26 Sep 2020 11:55:39 +0400	[thread overview]
Message-ID: <5878AC01-8A1B-4F39-B4BD-BDDEFAECFAA2@gmail.com> (raw)

I am using an ARM SBC device with Amlogic S922X chip (Beelink GS-King-X, an Android STB) to boot the Kodi mediacentre distro LibreELEC (which I work on) although the issue is also reproducible with Manjaro and Armbian on the same hardware, and with the GT-King and GT-King Pro devices from the same vendor - all three devices are using a common dtsi:

https://github.com/chewitt/linux/blob/amlogic-5.9-integ/arch/arm64/boot/dts/amlogic/meson-g12b-gsking-x.dts
https://github.com/chewitt/linux/blob/amlogic-5.9-integ/arch/arm64/boot/dts/amlogic/meson-g12b-gtking-pro.dts
https://github.com/chewitt/linux/blob/amlogic-5.9-integ/arch/arm64/boot/dts/amlogic/meson-g12b-gtking.dts
https://github.com/chewitt/linux/blob/amlogic-5.9-integ/arch/arm64/boot/dts/amlogic/meson-g12b-w400.dtsi

I have schematics for the devices, but can only share those privately on request.

For testing I am booting LibreELEC from SD card. The box has a 4TB SATA drive internally connected with a USB > SATA bridge, see dmesg: http://ix.io/2yLh and I connect a USB stick with a 4GB ISO file that I copy to the internal SATA drive. Within 10-20 seconds of starting the copy the box deadlocks needing a hard power cycle to recover. The timing of the deadlock is variable but the device _always_ deadlocks. Although I am using a simple copy use-case, there are similar reports in Armbian forums performing tasks like installs/updates that involve I/O loads.

Following advice in the #linux-amlogic IRC channel I added CONFIG_SOFTLOCKUP_DETECTOR and CONFIG_DETECT_HUNG_TASK and was able to get output on the HDMI screen (it is not possible to connect to UART pins without destroying the box case). If you advance the following video frame by frame in VLC you can see the output:

https://www.dropbox.com/s/klvcizim8cs5lze/lockup_clip.mov?dl=0

I am not a coding developer so the output doesn’t mean much to me, but I am happy to follow guidance or install patches to get more output or test things.

Christian

             reply	other threads:[~2020-09-26  7:55 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-09-26  7:55 Christian Hewitt [this message]
2020-09-26 10:51 ` Deadlock under load with Linux 5.9 and other recent kernels Jens Axboe
2020-09-26 11:55   ` Christian Hewitt
2020-09-26 12:13     ` Jens Axboe
2020-09-26 12:28       ` Christian Hewitt
2020-09-28  1:37         ` Christian Hewitt
2020-09-28 11:06           ` Patrik Nilsson
2020-09-28 13:36             ` Christian Hewitt

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5878AC01-8A1B-4F39-B4BD-BDDEFAECFAA2@gmail.com \
    --to=christianshewitt@gmail.com \
    --cc=bjharper@gmail.com \
    --cc=furkan@fkardame.com \
    --cc=linux-amlogic@lists.infradead.org \
    --cc=linux-block@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox