Re: [PATCH UPDATED 11/11] blkcg: unify blkg's for blkcg policies

From: Vivek Goyal
Date: Fri Feb 03 2012 - 16:07:02 EST

On Wed, Feb 01, 2012 at 04:37:30PM -0800, Tejun Heo wrote:
> Currently, blkg is per cgroup-queue-policy combination. This is
> unnatural and leads to various convolutions in partially used
> duplicate fields in blkg, config / stat access, and general management
> of blkgs.
> This patch make blkg's per cgroup-queue and let them serve all
> policies. blkgs are now created and destroyed by blkcg core proper.
> This will allow further consolidation of common management logic into
> blkcg core and API with better defined semantics and layering.
> As a transitional step to untangle blkg management, elvswitch and
> policy [de]registration, all blkgs except the root blkg are being shot
> down during elvswitch and bypass. This patch adds blkg_root_update()
> to update root blkg in place on policy change. This is hacky and racy
> but should be good enough as interim step until we get locking
> simplified and switch over to proper in-place update for all blkgs.
> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx>
> Cc: Vivek Goyal <vgoyal@xxxxxxxxxx>
> ---
> I was thinking root blkgs should be updated on policy changes and
> commit message and comments were written that way too but for some
> reason I wrote code which updates on elvswitch, which leads to oops on
> root blkg access after policy changes (ie. insmod cfq-iosched.ko).
> Fixed. git branch updated accordingly.


Shouldn't we shoot down root group policy data upon elevator switch?
Otherwise once the elevator comes back, it will continue to use old
policy data (old stats, overwrite old weigts etc.).

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at