Re: [PATCH 8/9] dm: Fix two race conditions related to stopping and starting queues

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 09/01/2016 04:48 PM, Mike Snitzer wrote:
> On Thu, Sep 01 2016 at  7:17pm -0400,
> Bart Van Assche <bart.vanassche@xxxxxxxxxxx> wrote:
>> Sorry that I misread your previous e-mail. After I received your
>> latest e-mail I rebased my tree on top of the devel.bart branch
>> mentioned above. My tests still pass. The only two patches in my
>> tree that are relevant and that are not in the devel.bart branch
>> have been attached to this e-mail. Did your test involve the sd
>> driver? If so, do the attached two patches help? If the sd driver
>> was not involved, can you provide more information about the hang
>> you ran into? The output and log messages generated by the following
>> commands after the hang has been reproduced would be very welcome:
>> * echo w > /proc/sysrq-trigger
>> * (cd /sys/block && grep -a '' dm*/mq/*/{pending,cpu*/rq_list})
> 
> sd is used.  I'll apply those patches and test, tomorrow, but I'm pretty
> skeptical.
> 
> Haven't had any problems with these tests for quite a while.  The tests
> I'm running are just those in the mptest testsuite, see:
> https://github.com/snitm/mptest
> 
> Running them should be as simple as you doing:
> 
> git clone git://github.com/snitm/mptest.git
> cd mptest
> ./runtest
> 
> The default is to use dm-mq on scsi-mq ontop of tcmloop.
> 
> [ ... ]

Hello Mike,

If I run mptest on my setup I can reproduce the hang. But what I see is
that the service-time path selector is in use when the hang is triggered.
I will patch that path selector in the same way as I did with the
queue-length path selector and rerun the test.

# dmsetup table
1Linux_scsi_debug_2000: 0 2097152 multipath 3 retain_attached_hw_handler queue_mode mq 1 alua 3 1 service-time 0 1 2 8:128 1 1 service-time 0 1 2 8:144 1 1 service-time 0 1 2 8:112 1 1 
mp: 0 2097152 multipath 3 retain_attached_hw_handler queue_mode mq 1 alua 2 1 queue-length 0 2 1 8:96 1 8:112 1 queue-length 0 2 1 8:128 1 8:144 1 
# (cd /sys/block && grep -a '' dm*/mq/*/{pending,cpu*/rq_list}) | grep -v ':$'
dm-0/mq/0/pending:      ffff880358610000
dm-1/mq/0/pending:      ffff880358220200
dm-1/mq/0/pending:      ffff880358220400

Bart.

--
dm-devel mailing list
dm-devel@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/dm-devel



[Index of Archives]     [DM Crypt]     [Fedora Desktop]     [ATA RAID]     [Fedora Marketing]     [Fedora Packaging]     [Fedora SELinux]     [Yosemite Discussion]     [KDE Users]     [Fedora Docs]

  Powered by Linux