From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751391AbdKLW0U (ORCPT ); Sun, 12 Nov 2017 17:26:20 -0500 Received: from mail-qt0-f175.google.com ([209.85.216.175]:56227 "EHLO mail-qt0-f175.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750961AbdKLW0S (ORCPT ); Sun, 12 Nov 2017 17:26:18 -0500 X-Google-Smtp-Source: AGs4zMY5rgqNf3Yx+xah5ltht8Bu3U0yzN03BR1ojF4QVbHpNGbfk4Qi8zBO/JfLz9TNEr2pJYmwvQ== From: Tejun Heo To: axboe@kernel.dk Cc: shli@kernel.org, linux-kernel@vger.kernel.org, kernel-team@fb.com, lizefan@huawei.com, hannes@cmpxchg.org, cgroups@vger.kernel.org, guro@fb.com Subject: [PATCHSET] blkcg: basic accounting and throttling fixes Date: Sun, 12 Nov 2017 14:26:06 -0800 Message-Id: <20171112222613.3613362-1-tj@kernel.org> X-Mailer: git-send-email 2.9.5 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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