From: Vivek Goyal <vgoyal@redhat.com>
To: Tejun Heo <tj@kernel.org>
Cc: axboe@kernel.dk, ctalbott@google.com, rni@google.com,
linux-kernel@vger.kernel.org
Subject: Re: [PATCHSET] blkcg: accumulated blkcg updates
Date: Wed, 22 Feb 2012 14:34:29 -0500 [thread overview]
Message-ID: <20120222193429.GA7635@redhat.com> (raw)
In-Reply-To: <1329875223-5102-1-git-send-email-tj@kernel.org>
On Tue, Feb 21, 2012 at 05:46:27PM -0800, Tejun Heo wrote:
> Hello, Jens.
>
> This is accumulation of the following three patchsets on top of
> block/for-linus - 621032ad6e "block: exit_io_context() should call
> elevator_exit_icq_fn()".
>
> [1] blkcg: kill policy node and blkg->dev, take#4
> [2] blkcg: unify blkgs for different policies
> [3] blkcg: update locking and fix stacking
>
This series looks good to me. We just need two more pieces which need
to be pushed along with this series.
- Do not cleanup all blkg upon policy change. Just reclaim policy
data/blkg which belong to policy.
- per cpu stat allocation from async context.
Thanks
Vivek
> This patchset collects all three patchset into single series with all
> the updated versions of patches included. There are also some minor
> changes for build fixes and typos. Please refer to patch descriptions
> of each patchset for further details.
>
> This patchset contains the following 36 patches.
>
> 0001-block-blk-throttle-should-be-drained-regardless-of-q.patch
> 0002-blkcg-make-CONFIG_BLK_CGROUP-bool.patch
> 0003-cfq-don-t-register-propio-policy-if-CONFIG_CFQ_GROUP.patch
> 0004-elevator-clear-auxiliary-data-earlier-during-elevato.patch
> 0005-elevator-make-elevator_init_fn-return-0-errno.patch
> 0006-block-implement-blk_queue_bypass_start-end.patch
> 0007-block-extend-queue-bypassing-to-cover-blkcg-policies.patch
> 0008-blkcg-shoot-down-blkio_groups-on-elevator-switch.patch
> 0009-blkcg-move-rcu_read_lock-outside-of-blkio_group-get-.patch
> 0010-blkcg-update-blkg-get-functions-take-blkio_cgroup-as.patch
> 0011-blkcg-use-q-and-plid-instead-of-opaque-void-for-blki.patch
> 0012-blkcg-add-blkio_policy-array-and-allow-one-policy-pe.patch
> 0013-blkcg-use-the-usual-get-blkg-path-for-root-blkio_gro.patch
> 0014-blkcg-factor-out-blkio_group-creation.patch
> 0015-blkcg-don-t-allow-or-retain-configuration-of-missing.patch
> 0016-blkcg-kill-blkio_policy_node.patch
> 0017-blkcg-kill-the-mind-bending-blkg-dev.patch
>
> 0018-blkcg-let-blkio_group-point-to-blkio_cgroup-directly.patch
> 0019-blkcg-add-blkcg_-init-drain-exit-_queue.patch
> 0020-blkcg-clear-all-request_queues-on-blkcg-policy-un-re.patch
> 0021-blkcg-let-blkcg-core-handle-policy-private-data-allo.patch
> 0022-blkcg-move-refcnt-to-blkcg-core.patch
> 0023-blkcg-make-blkg-pd-an-array-and-move-configuration-a.patch
> 0024-blkcg-don-t-use-blkg-plid-in-stat-related-functions.patch
> 0025-blkcg-move-per-queue-blkg-list-heads-and-counters-to.patch
> 0026-blkcg-let-blkcg-core-manage-per-queue-blkg-list-and-.patch
> 0027-blkcg-unify-blkg-s-for-blkcg-policies.patch
> 0028-blkcg-use-double-locking-instead-of-RCU-for-blkg-syn.patch
> 0029-blkcg-drop-unnecessary-RCU-locking.patch
>
> 0030-block-restructure-get_request.patch
> 0031-block-interface-update-for-ioc-icq-creation-function.patch
> 0032-block-ioc_task_link-can-t-fail.patch
> 0033-block-add-io_context-active_ref.patch
> 0034-block-implement-bio_associate_current.patch
> 0035-block-make-block-cgroup-policies-follow-bio-task-ass.patch
> 0036-block-make-blk-throttle-preserve-the-issuing-task-on.patch
>
> 0001-0017 kill policy node and blkg->dev and also available in the
> following git branch.
>
> git://git.kernel.org/pub/scm/linux/kernel/git/tj/misc.git blkcg-kill-pn
>
> 0018-0029 unify blkgs for different policies and update locking. Note
> that 0028 and 0029 belonged to the third patchset in the original
> posting.
>
> git://git.kernel.org/pub/scm/linux/kernel/git/tj/misc.git blkcg-unified-blkg
>
> 0030-0036 fix stacking of blkcg policies.
>
> git://git.kernel.org/pub/scm/linux/kernel/git/tj/misc.git blkcg-stacking
>
> Thank you.
>
> diffstat follows.
>
> block/Kconfig.iosched | 4
> block/blk-cgroup.c | 1258 ++++++++++++++++++++++++----------------------
> block/blk-cgroup.h | 286 ++++++----
> block/blk-core.c | 179 ++++--
> block/blk-ioc.c | 58 +-
> block/blk-sysfs.c | 6
> block/blk-throttle.c | 450 +++-------------
> block/blk.h | 32 -
> block/cfq-iosched.c | 509 +++++-------------
> block/cfq.h | 113 ++--
> block/deadline-iosched.c | 8
> block/elevator.c | 123 +---
> block/noop-iosched.c | 8
> fs/bio.c | 61 ++
> include/linux/bio.h | 8
> include/linux/blk_types.h | 10
> include/linux/blkdev.h | 12
> include/linux/elevator.h | 8
> include/linux/iocontext.h | 32 -
> init/Kconfig | 2
> kernel/fork.c | 5
> 21 files changed, 1521 insertions(+), 1651 deletions(-)
>
> Thanks.
>
> --
> tejun
>
> [1] http://thread.gmane.org/gmane.linux.kernel/1247152
> [2] http://thread.gmane.org/gmane.linux.kernel/1247287
> [3] http://thread.gmane.org/gmane.linux.kernel/1254428
next prev parent reply other threads:[~2012-02-22 19:34 UTC|newest]
Thread overview: 57+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-02-22 1:46 Tejun Heo
2012-02-22 1:46 ` [PATCH 01/36] block: blk-throttle should be drained regardless of q->elevator Tejun Heo
2012-02-22 1:46 ` [PATCH 02/36] blkcg: make CONFIG_BLK_CGROUP bool Tejun Heo
2012-02-22 1:46 ` [PATCH 03/36] cfq: don't register propio policy if !CONFIG_CFQ_GROUP_IOSCHED Tejun Heo
2012-02-22 1:46 ` [PATCH 04/36] elevator: clear auxiliary data earlier during elevator switch Tejun Heo
2012-02-22 1:46 ` [PATCH 05/36] elevator: make elevator_init_fn() return 0/-errno Tejun Heo
2012-02-22 1:46 ` [PATCH 06/36] block: implement blk_queue_bypass_start/end() Tejun Heo
2012-02-22 1:46 ` [PATCH 07/36] block: extend queue bypassing to cover blkcg policies Tejun Heo
2012-02-22 1:46 ` [PATCH 08/36] blkcg: shoot down blkio_groups on elevator switch Tejun Heo
2012-02-22 1:46 ` [PATCH 09/36] blkcg: move rcu_read_lock() outside of blkio_group get functions Tejun Heo
2012-02-22 1:46 ` [PATCH 10/36] blkcg: update blkg get functions take blkio_cgroup as parameter Tejun Heo
2012-02-22 1:46 ` [PATCH 11/36] blkcg: use q and plid instead of opaque void * for blkio_group association Tejun Heo
2012-02-22 1:46 ` [PATCH 12/36] blkcg: add blkio_policy[] array and allow one policy per policy ID Tejun Heo
2012-02-22 1:46 ` [PATCH 13/36] blkcg: use the usual get blkg path for root blkio_group Tejun Heo
2012-02-22 1:46 ` [PATCH 14/36] blkcg: factor out blkio_group creation Tejun Heo
2012-02-22 1:46 ` [PATCH 15/36] blkcg: don't allow or retain configuration of missing devices Tejun Heo
2012-02-22 1:46 ` [PATCH 16/36] blkcg: kill blkio_policy_node Tejun Heo
2012-02-22 1:46 ` [PATCH 17/36] blkcg: kill the mind-bending blkg->dev Tejun Heo
2012-02-22 1:46 ` [PATCH 18/36] blkcg: let blkio_group point to blkio_cgroup directly Tejun Heo
2012-02-22 1:46 ` [PATCH 19/36] blkcg: add blkcg_{init|drain|exit}_queue() Tejun Heo
2012-02-22 1:46 ` [PATCH 20/36] blkcg: clear all request_queues on blkcg policy [un]registrations Tejun Heo
2012-02-22 1:46 ` [PATCH 21/36] blkcg: let blkcg core handle policy private data allocation Tejun Heo
2012-02-22 1:46 ` [PATCH 22/36] blkcg: move refcnt to blkcg core Tejun Heo
2012-02-22 1:46 ` [PATCH 23/36] blkcg: make blkg->pd an array and move configuration and stats into it Tejun Heo
2012-02-22 1:46 ` [PATCH 24/36] blkcg: don't use blkg->plid in stat related functions Tejun Heo
2012-02-22 1:46 ` [PATCH 25/36] blkcg: move per-queue blkg list heads and counters to queue and blkg Tejun Heo
2012-02-22 1:46 ` [PATCH 26/36] blkcg: let blkcg core manage per-queue blkg list and counter Tejun Heo
2012-02-22 1:46 ` [PATCH 27/36] blkcg: unify blkg's for blkcg policies Tejun Heo
2012-03-05 21:01 ` [PATCH UPDATED " Tejun Heo
2012-02-22 1:46 ` [PATCH 28/36] blkcg: use double locking instead of RCU for blkg synchronization Tejun Heo
2012-02-22 1:46 ` [PATCH 29/36] blkcg: drop unnecessary RCU locking Tejun Heo
2012-02-23 18:51 ` [PATCH UPDATED " Tejun Heo
2012-02-22 1:46 ` [PATCH 30/36] block: restructure get_request() Tejun Heo
2012-02-22 1:46 ` [PATCH 31/36] block: interface update for ioc/icq creation functions Tejun Heo
2012-02-22 1:46 ` [PATCH 32/36] block: ioc_task_link() can't fail Tejun Heo
2012-02-22 1:47 ` [PATCH 33/36] block: add io_context->active_ref Tejun Heo
2012-02-22 18:47 ` Vivek Goyal
2012-02-22 19:13 ` Tejun Heo
2012-02-23 18:20 ` Vivek Goyal
2012-02-22 1:47 ` [PATCH 34/36] block: implement bio_associate_current() Tejun Heo
2012-02-22 13:45 ` Jeff Moyer
2012-02-22 19:07 ` Tejun Heo
2012-02-22 19:33 ` Jeff Moyer
2012-02-22 19:37 ` Vivek Goyal
2012-02-22 19:41 ` Jeff Moyer
2012-02-22 1:47 ` [PATCH 35/36] block: make block cgroup policies follow bio task association Tejun Heo
2012-02-22 1:47 ` [PATCH 36/36] block: make blk-throttle preserve the issuing task on delayed bios Tejun Heo
2012-02-22 19:34 ` Vivek Goyal [this message]
2012-02-22 22:04 ` [PATCHSET] blkcg: accumulated blkcg updates Tejun Heo
2012-03-05 20:59 ` [PATCH 17.5] blkcg: skip blkg printing if q isn't associated with disk Tejun Heo
2012-03-05 21:07 ` [PATCHSET] blkcg: accumulated blkcg updates Tejun Heo
2012-03-05 21:08 ` Tejun Heo
2012-03-06 15:07 ` Vivek Goyal
2012-03-06 16:24 ` Vivek Goyal
2012-03-06 18:39 ` Vivek Goyal
2012-03-06 19:02 ` Vivek Goyal
2012-03-08 0:06 ` 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=20120222193429.GA7635@redhat.com \
--to=vgoyal@redhat.com \
--cc=axboe@kernel.dk \
--cc=ctalbott@google.com \
--cc=linux-kernel@vger.kernel.org \
--cc=rni@google.com \
--cc=tj@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
Powered by JetHome