lkml.org 
[lkml]   [2012]   [Jan]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Subject[PATCHSET] blkcg: kill policy node and blkg->dev, take#2
    Date
    Hello, guys.

    This is the second take of blkcg-kill-policy-node-and-blkg_dev
    patchset. Changes from the last take[L] are,

    * 0001-blkcg-make-CONFIG_BLK_CGROUP-bool.patch added to allow caling
    into blkcg from block core to clear blkg's on elevator switch.

    * For patches 0005-0008 added. These ensure that blkcg policies are
    quiescent and no blkg exists during elevator switch. 0005-0006 are
    lifted from the pending second patchset and will be used for policy
    registration too.

    * 0013-blkcg-use-the-usual-get-blkg-path-for-root-blkio_gro.patch
    fixed for !CONFIG_CFQ_GROUP_IOSCHED.

    * 0009-blkcg-move-rcu_read_lock-outside-of-blkio_group-get-.patch is
    the 0001 RCU fix patch. It turns out the RCU lock isn't protecting
    blkg at all but blkcg. Patch description updated accordingly.

    The next patchset will update blkcg such that there's one blkg per
    cgroup - request_queue association. Initially, all blkg's will
    contain data for all policies registered on the system but policy
    registration will be made per-request_queue.

    The original patchset description follows.

    blk-cgroup, blk-throttle and cfq-iosched are pretty tightly tangled
    and untangling requires seemingly unrelated changes and addition of
    some transitional stuff. Some are in this patchset but they'll be
    more prominent in the second patchset. With that said, this patchset
    concentrates on removing blkio_policy_node and blkio_group->dev.

    blkio_policy_node carries configuration per cgroup-request_queue
    association separately from the matching blkio_group. The goal seems
    to be allowing configuration of missing devices and retaining
    configuration across hot unplug/plug cycles. Such behavior is very
    different from existing conventions, misleading and unnecessary. This
    patchset moves configuration to blkio_group and removes
    blkio_policy_node.

    blkg->dev removal is much simpler. blkg->dev is used to print out
    device number when printing out per-device configurations or
    statistics. The device name can be easily determined by following the
    associated request_queue from blkg instead.

    This patchset contains the following 17 patches.

    0001-blkcg-make-CONFIG_BLK_CGROUP-bool.patch
    0002-cfq-don-t-register-propio-policy-if-CONFIG_CFQ_GROUP.patch
    0003-elevator-clear-auxiliary-data-earlier-during-elevato.patch
    0004-elevator-make-elevator_init_fn-return-0-errno.patch
    0005-block-implement-blk_queue_bypass_start-end.patch
    0006-block-extend-queue-bypassing-to-cover-blkcg-policies.patch
    0007-blkcg-make-blkio_list_lock-irq-safe.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

    0001-0004: misc preps including elevator switch update

    0005-0008: ensure blkcg policies are quiescent across elvswitch

    0009-0014: move common part of blkg management into blkcg core

    0015-0016: kill blkio_policy_node

    0017 : kill blkg->dev

    This patchset is on top of v3.3-rc1 and also available in the
    following git branch.

    git://git.kernel.org/pub/scm/linux/kernel/git/tj/misc.git blkcg-kill-pn

    block/Kconfig.iosched | 5
    block/blk-cgroup.c | 684 +++++++++++++++--------------------------------
    block/blk-cgroup.h | 106 ++-----
    block/blk-core.c | 53 +++
    block/blk-throttle.c | 266 +++++-------------
    block/blk.h | 6
    block/cfq-iosched.c | 286 +++++++------------
    block/cfq.h | 7
    block/deadline-iosched.c | 8
    block/elevator.c | 115 +++----
    block/noop-iosched.c | 8
    include/linux/blkdev.h | 5
    include/linux/elevator.h | 2
    init/Kconfig | 2
    14 files changed, 568 insertions(+), 985 deletions(-)

    Thanks.

    --
    tejun

    [L] http://thread.gmane.org/gmane.linux.kernel/1241094


    \
     
     \ /
      Last update: 2012-01-22 04:29    [W:0.036 / U:30.844 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site