linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Tejun Heo <tj@kernel.org>
To: axboe@kernel.dk, laijs@cn.fujitsu.com, fengguang.wu@intel.com
Cc: linux-kernel@vger.kernel.org, jmoyer@redhat.com
Subject: [PATCHSET] writeback: convert writeback to unbound workqueue
Date: Thu,  7 Mar 2013 13:44:05 -0800	[thread overview]
Message-ID: <1362692649-25570-1-git-send-email-tj@kernel.org> (raw)

Hello,

There's no reason for writeback to implement its own worker pool when
using workqueue is much simpler and more efficient.  This patchset
replaces writeback's custom worker pool with unbound workqueue and
also exports it to userland using WQ_SYSFS so that it can be tuned
from userland as requested a couple releases ago.

This patchset contains the following four patches.

 0001-implement-current_is_workqueue_rescuer.patch
 0002-writeback-remove-unused-bdi_pending_list.patch
 0003-writeback-replace-custom-worker-pool-implementation-.patch
 0004-writeback-expose-the-bdi_wq-workqueue.patch

0001-0002 are prep patches.  0003 does the conversion.  0004 makes
bdi_wq visible to userland.

This patchset is on top of v3.9-rc1 + "workqueue: implement workqueue
with custom worker attributes" patchset[1] and available in the
following git branch.

 git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq.git review-writeback-conversion

diffstat follows.  Thanks.

 fs/fs-writeback.c                |  102 ++++-----------
 include/linux/backing-dev.h      |   16 --
 include/linux/workqueue.h        |    1
 include/trace/events/writeback.h |    5
 kernel/workqueue.c               |   13 +
 mm/backing-dev.c                 |  259 ++++-----------------------------------
 6 files changed, 80 insertions(+), 316 deletions(-)

--
tejun

[1] http://thread.gmane.org/gmane.linux.kernel/1449826


             reply	other threads:[~2013-03-07 21:44 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-03-07 21:44 Tejun Heo [this message]
2013-03-07 21:44 ` [PATCH 1/4] implement current_is_workqueue_rescuer() Tejun Heo
2013-03-13  0:42   ` Tejun Heo
2013-03-07 21:44 ` [PATCH 2/4] writeback: remove unused bdi_pending_list Tejun Heo
2013-03-12 12:02   ` Jan Kara
2013-03-07 21:44 ` [PATCH 3/4] writeback: replace custom worker pool implementation with unbound workqueue Tejun Heo
2013-03-12 15:05   ` Jan Kara
2013-03-18 22:32     ` Jan Kara
2013-03-18 22:35       ` Tejun Heo
2013-03-19 15:46         ` Jan Kara
2013-03-19 17:28           ` Tejun Heo
2013-03-21  1:57             ` Dave Chinner
2013-03-21  5:07               ` Tejun Heo
2013-03-21 11:32                 ` Jan Kara
2013-03-21 13:08                   ` Christoph Hellwig
2013-03-21 18:37                     ` Tejun Heo
2013-03-07 21:44 ` [PATCH 4/4] writeback: expose the bdi_wq workqueue Tejun Heo
2013-03-12 15:06 ` [PATCHSET] writeback: convert writeback to unbound workqueue Jens Axboe
2013-03-12 17:10   ` Tejun Heo

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1362692649-25570-1-git-send-email-tj@kernel.org \
    --to=tj@kernel.org \
    --cc=axboe@kernel.dk \
    --cc=fengguang.wu@intel.com \
    --cc=jmoyer@redhat.com \
    --cc=laijs@cn.fujitsu.com \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).