[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20120420080943.GG7505@kernel.dk>
Date: Fri, 20 Apr 2012 10:09:43 +0200
From: Jens Axboe <axboe@...nel.dk>
To: Tejun Heo <tj@...nel.org>
Cc: vgoyal@...hat.com, ctalbott@...gle.com, rni@...gle.com,
linux-kernel@...r.kernel.org, cgroups@...r.kernel.org,
containers@...ts.linux-foundation.org
Subject: Re: [PATCHSET] block: per-queue policy activation, take#2
On Fri, Apr 13 2012, Tejun Heo wrote:
> Hello,
>
> Upto now, blkcg assumed that all policies are active on all queues
> which simply isn't true - cfq policy is only applicable to queues
> which are using cfq as the elevator. Also, for transition purposes,
> the current implementation clears all !root blkgs blkgs across
> elevator switch and policy [de]registration in racy manner.
>
> This patchset implements per-queue policy activation. Static policy
> ID is replaced with dynamic registration and each policy should be
> activated and deactivated explicitly on each queue. On activation,
> the matching policy data are created on all existing blkgs. On
> deactivation, the matching policy data are removed from all existing
> blkgs. blkg printing skips blkg-policy combination which is disabled
> and trying to configure a policy on a blkg which doesn't have the
> policy enabled would return -EINVAL instead of creating an unused
> dummy configuration.
>
> Changes from the last take[L] are
>
> * 0001 to fix config dependent build error / warnings added.
>
> * More comments added to 0006 as suggested by Vivek.
>
> * 0007 added to avoid boot time bypass delays.
>
> * 0009 made cfq_init_queue() return garbage after alloc failure if
> !CONFIG_CFQ_GROUP_IOSCHED. Fixed.
>
> * 0011 which shoots down all blkgs if no policy is activated added.
> Suggested by Vivek.
>
> 0001-cfq-fix-build-breakage-warnings.patch
> 0002-blkcg-kill-blkio_list-and-replace-blkio_list_lock-wi.patch
> 0003-blkcg-use-pol-instead-of-plid-in-update_root_blkg_pd.patch
> 0004-blkcg-remove-static-policy-ID-enums.patch
> 0005-blkcg-make-blkg_conf_prep-take-pol-and-return-with-q.patch
> 0006-blkcg-make-sure-blkg_lookup-returns-NULL-if-q-is-byp.patch
> 0007-blkcg-make-request_queue-bypassing-on-allocation.patch
> 0008-blkcg-add-request_queue-root_blkg.patch
> 0009-blkcg-implement-per-queue-policy-activation.patch
> 0010-blkcg-drop-stuff-unused-after-per-queue-policy-activ.patch
> 0011-blkcg-shoot-down-blkgs-if-all-policies-are-deactivat.patch
>
> This patchset is on top of the current block/for-3.5/core 5bc4afb1ec
> "blkcg: drop BLKCG_STAT_{PRIV|POL|OFF} macros" and also available in
> the following git branch.
Applied. Even if we need a bit more churn on this one, we should get
things in gear and for-next updated at least.
--
Jens Axboe
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists