diff options
author | Tejun Heo <tj@kernel.org> | 2010-10-15 15:36:08 +0200 |
---|---|---|
committer | NeilBrown <neilb@suse.de> | 2010-10-28 17:32:29 +1100 |
commit | e804ac780e2f01cb3b914daca2fd4780d1743db1 (patch) | |
tree | 60447c76ea9dbaa526c8cabc14898e4df4498bf6 /drivers/md/raid1.c | |
parent | 57dab0bdf689d42972975ec646d862b0900a4bf3 (diff) | |
download | kernel_samsung_aries-e804ac780e2f01cb3b914daca2fd4780d1743db1.zip kernel_samsung_aries-e804ac780e2f01cb3b914daca2fd4780d1743db1.tar.gz kernel_samsung_aries-e804ac780e2f01cb3b914daca2fd4780d1743db1.tar.bz2 |
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 <tj@kernel.org>
Signed-off-by: NeilBrown <neilb@suse.de>
Diffstat (limited to 'drivers/md/raid1.c')
0 files changed, 0 insertions, 0 deletions