Received: by 10.223.164.202 with SMTP id h10csp911183wrb; Wed, 15 Nov 2017 09:53:34 -0800 (PST) X-Google-Smtp-Source: AGs4zMb9MMKUQQQSCH2nJvHKJkjotfIYeUd9Zg4/GiUFpgJnGqDbkp9ZRcGg+hq3EYyhz1dwb7W9 X-Received: by 10.98.111.71 with SMTP id k68mr18475213pfc.91.1510768413990; Wed, 15 Nov 2017 09:53:33 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1510768413; cv=none; d=google.com; s=arc-20160816; b=SP865LOMPg+u78jGrqn6t1ckwjE3ULOgMcHWHW53+1WoSI7u/GDYqev0KhHbjAN+Pz 8uR2hleG1UHytE/PHS5iZrHaYOMzAs09Redm6JM49QtGsCcWHnJVyN2HNjMVdLeodNAr XOH2o8tmy0RPL5WKKXvnTaGOswgrP7CWl3mlWs2Zair1XOiKcqpbJqlnWySotmwnEAjN DGRI0+KspGi0xCP3y1rmGJh4GjZAS2z8AHw8NVI1fXrgItEgKNUcc+ofmwdzvQozspSF g8tkpaYP21c/qhZiZ2dhtHrUH9AZxIJqcC6W2rNo+Zw4mB9QMlDRY6KTFpj6rBCDee5L MlBw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding :content-language:in-reply-to:mime-version:user-agent:date :message-id:from:references:cc:to:subject:dkim-signature :arc-authentication-results; bh=RhV2hQuCzSaMq4Fs6KDBR1rrJ7X7EY/VVFEJ7KffRQY=; b=K4Pw1casKYSJCCCvdcNi1ph6btDTUfL5VHG8FVsqWv3dDQZy6sF/yAk0obYp+jWeeW f2QwtmVXlAcUawSueTb64zurXAOaHZPMCrxCtxy3Am/oXwptYeWS/sEBgEN6N3BDQZus Z/8NHUIVLBBjWxp72LzwTxJvlBv6fwbLMpta6u9CpVoQzMt+n3TF4YWgWvg9oiOguoYA qs2ZEHyKunDfrj17ZE26o2mZWRVDun07v0NcPb7O/BoVu9VRRydu7WGJ0HcnBnEenMvq 39XIshmyziF6GF/B0Q41DVunTiWsRFUvcR8l1ThObbSXXEg4/yR799Ww2Woq+h0lcCTP 3c0g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel-dk.20150623.gappssmtp.com header.s=20150623 header.b=bPr9LnO1; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id 1si18117464plj.91.2017.11.15.09.53.21; Wed, 15 Nov 2017 09:53:33 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel-dk.20150623.gappssmtp.com header.s=20150623 header.b=bPr9LnO1; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1757961AbdKORTg (ORCPT + 90 others); Wed, 15 Nov 2017 12:19:36 -0500 Received: from mail-io0-f196.google.com ([209.85.223.196]:37124 "EHLO mail-io0-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1757558AbdKORT2 (ORCPT ); Wed, 15 Nov 2017 12:19:28 -0500 Received: by mail-io0-f196.google.com with SMTP id v21so2322056ioi.4 for ; Wed, 15 Nov 2017 09:19:28 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel-dk.20150623.gappssmtp.com; s=20150623; h=subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=RhV2hQuCzSaMq4Fs6KDBR1rrJ7X7EY/VVFEJ7KffRQY=; b=bPr9LnO1pInRVgch17yhsF1gbMTXYJsTKsWdvgvyiSrcazxeGYMglCvoFu/ijsbl9m MaaY1UVosvC6XxJwV8kEV2ozDn1EZSX5jThImTpei9OaOWP99kLS/zLrL+3Mu9X9swal NBOwApqjLldbaDXPXE3M//LrvrNcikZYoHEf4AVzFM6ujEN56ZIzkBi4cntjOR2OeNE3 IeWdV2wwDa0TCjQYnPyVZvei0RkHDf3KKLGlf2n/6jRP/ckaWyGSEUZkS1bAkUG/Dzfk VPLPNv9bquYrvuBwq0b2H9KlQMxJIuk8rH/M24oJMBU9OlYqMw8vYlGUtI6UCaGOuMhw sy8A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=RhV2hQuCzSaMq4Fs6KDBR1rrJ7X7EY/VVFEJ7KffRQY=; b=Qtftlze6eJ05oiOAxguXt51qm1nAk3f1w3woQdyYFNsN/eRzwjRymA+6HbT5/ludxj PuOPh8CMpDkDRjhsyTcibWIBr4eYTdRiNJocjo/6wCc9laci2i6mQ1h4+qNdEs7T+ndz DPRGQT6asiwmWU+XzG71WlU0VhRBkqpRAKNVNIMd1XzN2nxUzOFK+fnuzCcPmwU7CdJ+ iqcCGnh3gTJQ3XPgu439zZ+WoGtHLjBJmwXDUaapascF/CpcEW7M3mjop6Wa29pQjq7T SueHdgZWNhaJ+xmlaDJsdCm8vaUUEFfNk6kyYFlG8sS+RfpL7FFY6l1ATVfSnVphIWQi NvFQ== X-Gm-Message-State: AJaThX4yQcEuns/SpIxPdGtXVEQ7xz75kqNBGjqTvp3oi28sXd6mbwYM QBobCZghHpaQDk4pTk6yXinRXg== X-Received: by 10.107.9.221 with SMTP id 90mr11190396ioj.93.1510766368124; Wed, 15 Nov 2017 09:19:28 -0800 (PST) Received: from [192.168.1.154] ([216.160.245.98]) by smtp.gmail.com with ESMTPSA id l75sm297784itb.31.2017.11.15.09.19.27 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 15 Nov 2017 09:19:27 -0800 (PST) Subject: Re: [PATCH 6/7] blkcg: account requests instead of bios for request based request_queues To: Shaohua Li , Tejun Heo Cc: linux-kernel@vger.kernel.org, kernel-team@fb.com, lizefan@huawei.com, hannes@cmpxchg.org, cgroups@vger.kernel.org, guro@fb.com References: <20171112222613.3613362-1-tj@kernel.org> <20171112222613.3613362-7-tj@kernel.org> <20171114232355.vjxlzfbqbqj5ihq4@kernel.org> From: Jens Axboe Message-ID: <9a2ddc6a-d618-a896-290c-254ffeb5e9d6@kernel.dk> Date: Wed, 15 Nov 2017 10:19:26 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0 MIME-Version: 1.0 In-Reply-To: <20171114232355.vjxlzfbqbqj5ihq4@kernel.org> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 11/14/2017 04:23 PM, Shaohua Li wrote: > On Sun, Nov 12, 2017 at 02:26:12PM -0800, Tejun Heo wrote: >> blkcg accounting is currently bio based, which is silly for request >> based request_queues. This is silly as the number of bios doesn't >> have much to do with the actual number of IOs issued to the underlying >> device (can be significantly higher or lower) and may change depending >> on the implementation details on how the bios are issued (e.g. from >> the recent split-bios-while-issuing change). >> >> request based request_queues have QUEUE_FLAG_IO_STAT set by default >> which controls the gendisk accounting. Do cgroup accounting for those >> request_queues together with gendisk accounting on request completion. >> >> This makes cgroup accounting consistent with gendisk accounting and >> what's happening on the system. >> >> Signed-off-by: Tejun Heo >> --- >> block/blk-core.c | 3 +++ >> include/linux/blk-cgroup.h | 18 +++++++++++++++++- >> 2 files changed, 20 insertions(+), 1 deletion(-) >> >> diff --git a/block/blk-core.c b/block/blk-core.c >> index 048be4a..ad23b96 100644 >> --- a/block/blk-core.c >> +++ b/block/blk-core.c >> @@ -2429,6 +2429,7 @@ void blk_account_io_completion(struct request *req, unsigned int bytes) >> cpu = part_stat_lock(); >> part = req->part; >> part_stat_add(cpu, part, sectors[rw], bytes >> 9); >> + blkcg_account_io_completion(req, bytes); >> part_stat_unlock(); >> } >> } >> @@ -2454,6 +2455,8 @@ void blk_account_io_done(struct request *req) >> part_round_stats(req->q, cpu, part); >> part_dec_in_flight(req->q, part, rw); >> >> + blkcg_account_io_done(req); >> + >> hd_struct_put(part); >> part_stat_unlock(); >> } >> diff --git a/include/linux/blk-cgroup.h b/include/linux/blk-cgroup.h >> index 96eed0f..f2f9691 100644 >> --- a/include/linux/blk-cgroup.h >> +++ b/include/linux/blk-cgroup.h >> @@ -715,7 +715,8 @@ static inline bool blkcg_bio_issue_check(struct request_queue *q, >> >> throtl = blk_throtl_bio(q, blkg, bio); >> >> - if (!throtl) { >> + /* if @q does io stat, blkcg stats are updated together with them */ >> + if (!blk_queue_io_stat(q) && !throtl) { > > Reviewed-by: Shaohua Li > > One nitpick, can we use q->request_fn to determine request based queue? I think > that is more reliable and usual way for this. That won't work for mq - but there is a helper for this, queue_is_rq_based(). -- Jens Axboe From 1584155485596217365@xxx Wed Nov 15 17:53:19 +0000 2017 X-GM-THRID: 1583900948124527465 X-Gmail-Labels: Inbox,Category Forums,HistoricalUnread