Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754720AbbGXSn7 (ORCPT ); Fri, 24 Jul 2015 14:43:59 -0400 Received: from mail-yk0-f170.google.com ([209.85.160.170]:36780 "EHLO mail-yk0-f170.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753102AbbGXSn5 (ORCPT ); Fri, 24 Jul 2015 14:43:57 -0400 From: Tejun Heo To: axboe@kernel.dk Cc: vgoyal@redhat.com, linux-kernel@vger.kernel.org, avanzini.arianna@gmail.com, kernel-team@fb.com, hannes@cmpxchg.org, lizefan@huawei.com, cgroups@vger.kernel.org Subject: [PATCHSET block/for-4.3] blkcg: implement interface for the unified hierarchy Date: Fri, 24 Jul 2015 14:43:44 -0400 Message-Id: <1437763434-28699-1-git-send-email-tj@kernel.org> X-Mailer: git-send-email 2.4.3 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 4084 Lines: 87 Hello, blkcg interface grew to be the biggest of all controllers and unfortunately most inconsistent too. The interface files are inconsistent with a number of cloes duplicates. Some files have recursive variants while others don't. There's distinction between normal and leaf weights which isn't intuitive and there are a lot of stat knobs which don't make much sense outside of debugging and expose too much implementation details to userland. In the unified hierarchy, everything is always hierarchical and internal nodes can't have tasks rendering the two structural issues twisting the current interface. The interface has to be updated in a significant anyway and this is a good chance to revamp it as a whole. This patchset implements blkcg interface for the unified hierarchy. * blkcg is identified by "io" instead of "blkio" on the unified hierarchy. Given that the whole interface is updated anyway, the rename shouldn't carry noticeable conversion overhead. * The original interface consisted of 27 files is replaced with the following three files. blkio.stat : per-blkcg stats blkio.weight : per-cgroup and per-cgroup-queue weight settings blkio.max : per-cgroup-queue bps and iops max limits For more details, please refer to Documentation/cgroups/unified-hierarchy.txt. This patchset contains the following 10 patches. 0001-cgroup-don-t-print-subsystems-for-the-default-hierar.patch 0002-cgroup-introduce-cgroup_subsys-legacy_name.patch 0003-blkcg-remove-unnecessary-NULL-checks-from-__cfqg_set.patch 0004-blkcg-refine-error-codes-returned-during-blkcg-confi.patch 0005-blkcg-rename-subsystem-name-from-blkio-to-io.patch 0006-blkcg-mark-existing-cftypes-as-legacy.patch 0007-blkcg-move-body-parsing-from-blkg_conf_prep-to-its-c.patch 0008-blkcg-separate-out-tg_conf_updated-from-tg_set_conf.patch 0009-blkcg-misc-preparations-for-unified-hierarchy-interf.patch 0010-blkcg-implement-interface-for-the-unified-hierarchy.patch 0001-0002 are cgroup prep patches. 0003-0004 are misc prep patches. 0005 renames blkio to io on the unified hierarchy. 0006-0010 implement the new interface. This patchset is also available in the following git branch. git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup.git review-blkcg-unified-hier and is on top of block/for-linus f3f5da624e0a ("block: Do a full clone when splitting discard bios") + [1] [PATCHSET block/for-4.3] writeback: cgroup writeback updates + [2] [PATCHSET v2 block/for-4.3] block, cgroup: make cfq charge async IOs to the appropriate blkcgs + [3] [PATCHSET v3 block/for-4.3] blkcg: blkcg policy methods and data handling cleanup + [4] [PATCHSET v2 block/for-4.3] blkcg: blkcg stats cleanup diffstat follows. Thanks. Documentation/cgroups/unified-hierarchy.txt | 57 ++++++++- block/bio.c | 2 block/blk-cgroup.c | 105 +++++++++++++--- block/blk-throttle.c | 176 +++++++++++++++++++++++----- block/cfq-iosched.c | 91 +++++++++++--- include/linux/backing-dev.h | 2 include/linux/blk-cgroup.h | 12 + include/linux/cgroup-defs.h | 3 include/linux/cgroup_subsys.h | 2 kernel/cgroup.c | 41 ++++-- mm/backing-dev.c | 4 11 files changed, 399 insertions(+), 96 deletions(-) -- tejun [L] http://lkml.kernel.org/g/1435268337-1738-1-git-send-email-tj@kernel.org [1] http://lkml.kernel.org/g/1436281823-1947-1-git-send-email-tj@kernel.org [2] http://lkml.kernel.org/g/1436283361-3889-1-git-send-email-tj@kernel.org [3] http://lkml.kernel.org/g/1436637654-28110-1-git-send-email-tj@kernel.org [4] http://lkml.kernel.org/g/1436724043-12986-1-git-send-email-tj@kernel.org -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/