Red Hat Bugzilla – Bug 154432
kernel dm-multipath uses default workqueue but sleeps causing other users problems
Last modified: 2007-11-30 17:07:17 EST
Get a lot of IO to fail on the same dm multipath device and continue to
send new IO, so that the underlying device queue hits the nr_request and
batching limits and ends up blocking.
If the generic_make_request call that ends up blocking comes from
dm-mpath.c's dispatch_failed_ios() then it will end up blocking all the
users of the default workqueue on that processor.
A simple fix would be to just have dm-multipath use its own workqueue,
which is what the other device-mapper targets do to avoid the problem.
[From Mike Christie (IBM) via Suse]
Created attachment 112957 [details]
Separate workqueue for dm-mpath.c in kernel 2.6.5
Created attachment 113400 [details]
Updated separate workqueue patch (against 2.6.5-SLES, but based on the latest DM patchset)
Adding to 2.6.12-rc2-udm1
upstream and in RHEL