From: Justin TerAvest <teravest@google.com>
To: m-ikeda@ds.jp.nec.com, jaxboe@fusionio.com, vgoyal@redhat.com
Cc: linux-kernel@vger.kernel.org, ryov@valinux.co.jp,
taka@valinux.co.jp, kamezawa.hiroyu@jp.fujitsu.com,
righi.andrea@gmail.com, guijianfeng@cn.fujitsu.com,
balbir@linux.vnet.ibm.com, ctalbott@google.com,
nauman@google.com, mrubin@google.com
Subject: [RFC] [PATCH 0/6] Provide cgroup isolation for buffered writes.
Date: Tue, 8 Mar 2011 13:20:50 -0800 [thread overview]
Message-ID: <1299619256-12661-1-git-send-email-teravest@google.com> (raw)
This patchset adds tracking to the page_cgroup structure for which cgroup has
dirtied a page, and uses that information to provide isolation between
cgroups performing writeback.
I know that there is some discussion to remove request descriptor limits
entirely, but I included a patch to introduce per-cgroup limits to enable
this functionality. Without it, we didn't see much isolation improvement.
I think most of this material has been discussed on lkml previously, this is
just another attempt to make a patchset that handles buffered writes for CFQ.
There was a lot of previous discussion at:
http://thread.gmane.org/gmane.linux.kernel/1007922
Thanks to Andrea Righi, Kamezawa Hiroyuki, Munehiro Ikeda, Nauman Rafique,
and Vivek Goyal for work on previous versions of these patches.
Documentation/block/biodoc.txt | 10 +
block/blk-cgroup.c | 204 +++++++++++++++++++++-
block/blk-cgroup.h | 9 +-
block/blk-core.c | 216 +++++++++++++++--------
block/blk-settings.c | 2 +-
block/blk-sysfs.c | 60 ++++---
block/cfq-iosched.c | 390 +++++++++++++++++++++++++++++++---------
block/cfq.h | 6 +-
block/elevator.c | 11 +-
fs/buffer.c | 2 +
fs/direct-io.c | 2 +
include/linux/blk_types.h | 2 +
include/linux/blkdev.h | 81 ++++++++-
include/linux/blkio-track.h | 89 +++++++++
include/linux/elevator.h | 14 ++-
include/linux/iocontext.h | 1 +
include/linux/memcontrol.h | 6 +
include/linux/mmzone.h | 4 +-
include/linux/page_cgroup.h | 12 +-
init/Kconfig | 16 ++
mm/Makefile | 3 +-
mm/bounce.c | 2 +
mm/filemap.c | 2 +
mm/memcontrol.c | 6 +
mm/memory.c | 6 +
mm/page-writeback.c | 14 ++-
mm/page_cgroup.c | 29 ++-
mm/swap_state.c | 2 +
28 files changed, 985 insertions(+), 216 deletions(-)
[PATCH 1/6] Add IO cgroup tracking for buffered writes.
[PATCH 2/6] Make async queues per cgroup.
[PATCH 3/6] Modify CFQ to use IO tracking information.
[PATCH 4/6] With per-cgroup async, don't special case queues.
[PATCH 5/6] Add stat for per cgroup writeout done by flusher.
[PATCH 6/6] Per cgroup request descriptor counts
next reply other threads:[~2011-03-08 21:22 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-03-08 21:20 Justin TerAvest [this message]
2011-03-08 21:20 ` [PATCH 1/6] Add IO cgroup tracking " Justin TerAvest
2011-03-08 21:20 ` [PATCH 2/6] Make async queues per cgroup Justin TerAvest
2011-03-08 21:20 ` [PATCH 3/6] Modify CFQ to use IO tracking information Justin TerAvest
2011-03-08 21:20 ` [PATCH 4/6] With per-cgroup async, don't special case queues Justin TerAvest
2011-03-08 21:20 ` [PATCH 5/6] Add stat for per cgroup writeout done by flusher Justin TerAvest
2011-03-08 21:20 ` [PATCH 6/6] Per cgroup request descriptor counts Justin TerAvest
2011-03-08 22:43 ` [RFC] [PATCH 0/6] Provide cgroup isolation for buffered writes Vivek Goyal
2011-03-08 22:50 ` Vivek Goyal
2011-03-09 18:04 ` Justin TerAvest
2011-03-11 2:47 ` Vivek Goyal
2011-03-11 16:07 ` Justin TerAvest
2011-03-11 16:39 ` Vivek Goyal
2011-03-15 16:41 ` Justin TerAvest
2011-03-15 18:31 ` Vivek Goyal
2011-03-09 5:22 ` KAMEZAWA Hiroyuki
2011-03-09 15:19 ` Vivek Goyal
2011-03-09 18:05 ` Justin TerAvest
2011-03-10 18:08 ` Justin TerAvest
2011-03-10 18:15 ` Vivek Goyal
2011-03-10 18:57 ` Justin TerAvest
2011-03-10 19:11 ` [RFC] Storing cgroup id in page->private (Was: Re: [RFC] [PATCH 0/6] Provide cgroup isolation for buffered writes.) Vivek Goyal
2011-03-10 19:41 ` Vivek Goyal
2011-03-10 21:15 ` Chris Mason
2011-03-10 21:24 ` Andreas Dilger
2011-03-10 21:38 ` Vivek Goyal
2011-03-10 21:43 ` Chris Mason
2011-03-11 1:20 ` KAMEZAWA Hiroyuki
2011-03-11 1:46 ` Dave Chinner
2011-03-11 2:15 ` Vivek Goyal
2011-03-11 2:52 ` KAMEZAWA Hiroyuki
2011-03-11 3:15 ` Vivek Goyal
2011-03-11 3:13 ` KAMEZAWA Hiroyuki
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=1299619256-12661-1-git-send-email-teravest@google.com \
--to=teravest@google.com \
--cc=balbir@linux.vnet.ibm.com \
--cc=ctalbott@google.com \
--cc=guijianfeng@cn.fujitsu.com \
--cc=jaxboe@fusionio.com \
--cc=kamezawa.hiroyu@jp.fujitsu.com \
--cc=linux-kernel@vger.kernel.org \
--cc=m-ikeda@ds.jp.nec.com \
--cc=mrubin@google.com \
--cc=nauman@google.com \
--cc=righi.andrea@gmail.com \
--cc=ryov@valinux.co.jp \
--cc=taka@valinux.co.jp \
--cc=vgoyal@redhat.com \
/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
all inboxes | Powered by JetHome®