From: Tejun Heo Date: Fri, 15 Oct 2010 13:36:08 +0000 (+0200) Subject: md: fix and update workqueue usage X-Git-Tag: v2.6.37-rc1~43^2~9 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e804ac780e2f01cb3b914daca2fd4780d1743db1;p=pandora-kernel.git md: fix and update workqueue usage Workqueue usage in md has two problems. * Flush can be used during or depended upon by memory reclaim, but md uses the system workqueue for flush_work which may lead to deadlock. * md depends on flush_scheduled_work() to achieve exclusion against completion of removal of previous instances. flush_scheduled_work() may incur unexpected amount of delay and is scheduled to be removed. This patch adds two workqueues to md - md_wq and md_misc_wq. The former is guaranteed to make forward progress under memory pressure and serves flush_work. The latter serves as the flush domain for other works. Signed-off-by: Tejun Heo Signed-off-by: NeilBrown --- Reading git-diff-tree failed