[PATCHSET] blkcg: basic accounting and throttling fixes

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



blkcg was often getting basic accounting numbers wildly wrong and
blk-throtl could throttle the same bio multiple times leading to
significantly lower limits being enforced than configured.

This patchset contains the following seven patches to update request
cgroup membership tracking and fix the bugs.

 0001-blkcg-relocate-__blkg_release_rcu.patch
 0002-blkcg-use-percpu_ref-for-blkcg_gq-refcnt.patch
 0003-blkcg-associate-a-request-with-its-blkcg_gq-instead-.patch
 0004-blkcg-refactor-blkcg_gq-lookup-and-creation-in-blkcg.patch
 0005-blkcg-associate-blk-mq-requests-with-the-matching-bl.patch
 0006-blkcg-account-requests-instead-of-bios-for-request-b.patch
 0007-blk-throtl-don-t-throttle-the-same-IO-multiple-times.patch

0001-0005 update request cgroup membership tracking so that the
association is always available.

0006 makes blkcg account requests instead of bios as bios don't really
have much to do with what's going on the system.

0007 prevents blk-throttle from throttling the same IO multiple times.

The patches are also available in the following git branch.

 git://git.kernel.org/pub/scm/linux/kernel/git/tj/misc.git review-blkcg-fixes

diffstat follows.  Thanks.

 block/blk-cgroup.c         |   69 +++++++++++++----------
 block/blk-core.c           |   13 +++-
 block/blk-mq.c             |    9 ++-
 block/blk-mq.h             |    1 
 block/blk-throttle.c       |   10 ---
 include/linux/blk-cgroup.h |  134 ++++++++++++++++++++++++++++++++++++---------
 include/linux/blkdev.h     |    2 
 7 files changed, 169 insertions(+), 69 deletions(-)

--
tejun
--
To unsubscribe from this list: send the line "unsubscribe cgroups" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]     [Monitors]

  Powered by Linux