[PATCHSET] backing-dev: replace private thread pool with workqueue

From: Tejun Heo
Date: Mon Sep 06 2010 - 08:46:51 EST


Hello,

This patchset converts backing-dev to use workqueue instead of the
private thread pool. The conversion is pretty straight forward. The
only notable thing is that the writeback work skips usual
bdi->work_list processing if it's being executed from the rescuer
thread. Being executed from the rescuer thread means that the system
is under memory pressure and it just starts writeouts by calling
bdi_flush_io() and reschedules itself if necessary. This effectly is
the same to what bdi_forker_thread() did when it failed to create a
thread for a pending BDI.

This patch contains the following five patches.

0001-workqueue-implement-workqueue_on_rescuer.patch
0002-backing-dev-kill-unused-bdi_writeback-nr.patch
0003-backing-dev-replace-private-thread-pool-with-workque.patch
0004-backing-dev-update-trace-points.patch
0005-backing-dev-replace-sync_supers_tsk-timer-with-a-del.patch

It's currently based on v2.6.36-rc3 + wq#for-linus. Once Linus pulls
from wq#for-linus, I'll rebase these, but the patches apply on
v2.6.36-rc3 too. These patches are also available in the following
git tree,

git://git.kernel.org/pub/scm/linux/kernel/git/tj/misc.git wq-wb

and contains the following changes.

fs/fs-writeback.c | 91 +----------
include/linux/backing-dev.h | 18 --
include/linux/workqueue.h | 1
include/trace/events/writeback.h | 9 -
kernel/workqueue.c | 15 +
mm/backing-dev.c | 302 ++++++++++-----------------------------
6 files changed, 111 insertions(+), 325 deletions(-)

Thanks.

--
tejun
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/