lkml.org 
[lkml]   [2010]   [Sep]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Subject[PATCHSET] backing-dev: replace private thread pool with workqueue
Date
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


\
 
 \ /
  Last update: 2010-09-06 14:49    [W:1.853 / U:0.060 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site