On 08/26/2016 07:26 AM, Mike Snitzer wrote:
On Thu, Aug 25 2016 at 1:40pm -0400,
Bart Van Assche <bart.vanassche@xxxxxxxxxxx> wrote:
As usual, thanks for the quick feedback. But it seems like I sent my
e-mail too soon: after I had sent my e-mail I ran again into the
truncate_inode_pages_range() hang.
I was skeptical your 3 earlier patches (particularly the __dm_destroy to
use internel suspend patch) would fix anything you care about in your
testing. __dm_destroy is only used once all references on the DM mpath
device are dropped. When you do your fio + cable pull tests you're just
bouncing underlying paths around. You aren't _ever_ destroying the
multipath device. That is why your __dm_destroy patch seemed off the
mark to me.
Hello Mike,
In case it wasn't clear, I want to drop the three patches you referred
to. But I also want to clarify that my tests *do* trigger
__dm_destroy(). If you have a look at the srp-test scripts then you will
see that "dmsetup remove" is invoked after each test. What I see is that
lock_page() and other page cache functions hang sporadically around the
time the dm device is removed, most likely due to I/O that is submitted
but never completed. That's why I started looking at the scsi-mq/blk-mq
device removal code.
Bart.
--
dm-devel mailing list
dm-devel@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/dm-devel