Thread (23 messages) 23 messages, 6 authors, 2022-12-29

Re: blktests failures with v5.19-rc1

From: Shinichiro Kawasaki <hidden>
Date: 2022-06-14 04:00:52
Also in: linux-nvme, linux-pci, linux-scsi

On Jun 14, 2022 / 02:38, Chaitanya Kulkarni wrote:
Shinichiro,

On 6/13/22 19:23, Keith Busch wrote:
quoted
On Tue, Jun 14, 2022 at 01:09:07AM +0000, Shinichiro Kawasaki wrote:
quoted
(CC+: linux-pci)
On Jun 11, 2022 / 16:34, Yi Zhang wrote:
quoted
On Fri, Jun 10, 2022 at 10:49 PM Keith Busch [off-list ref] wrote:
quoted
And I am not even sure this is real. I don't know yet why this is showing up
only now, but this should fix it:
Hi Keith

Confirmed the WARNING issue was fixed with the change, here is the log:
Thanks. I also confirmed that Keith's change to add __ATTR_IGNORE_LOCKDEP to
dev_attr_dev_rescan avoids the fix, on v5.19-rc2.

I took a closer look into this issue and found The deadlock WARN can be
recreated with following two commands:

# echo 1 > /sys/bus/pci/devices/0000\:00\:09.0/rescan
# echo 1 > /sys/bus/pci/devices/0000\:00\:09.0/remove

And it can be recreated with PCI devices other than NVME controller, such as
SCSI controller or VGA controller. Then this is not a storage sub-system issue.

I checked function call stacks of the two commands above. As shown below, it
looks like ABBA deadlock possibility is detected and warned.
Yeah, I was mistaken on this report, so my proposal to suppress the warning is
definitely not right. If I run both 'echo' commands in parallel, I see it
deadlock frequently. I'm not familiar enough with this code to any good ideas
on how to fix, but I agree this is a generic pci issue.
I think it is worth adding a testcase to blktests to make sure these
future releases will test this.
Yeah, this WARN is confusing for us then it would be valuable to test by
blktests not to repeat it. One point I wonder is: which test group the test case
will it fall in? The nvme group could be the group to add, probably.

Another point I wonder is other kernel test suite than blktests. Don't we have
more appropriate test suite to check PCI device rescan/remove race ? Such a test
sounds more like a PCI bus sub-system test than block/storage test.

Having said that, still I think the test case is valuable for block/storage.
Unless anyone opposes, I'm open for the patch to add it.

-- 
Shin'ichiro Kawasaki
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help