Received: by 2002:a05:6a10:c7d3:0:0:0:0 with SMTP id h19csp585865pxy; Sat, 14 Aug 2021 16:54:01 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxbgJa0E5lpP1eNkGl2xzUj23klfhjIYDhKzcuese5W4Mwzd6Cltrm+cvBoXV/HrIA60vPn X-Received: by 2002:a05:6e02:1906:: with SMTP id w6mr4095086ilu.295.1628985241423; Sat, 14 Aug 2021 16:54:01 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1628985241; cv=none; d=google.com; s=arc-20160816; b=pcEk19U7pku2ueuCJIKIua6JnGCMwMKm48Ha6G9LNJQctaayhOOM1H/S5zqYAis1i5 67Fas1O/jXtVqt7IZ4qFd1U1y5ifPFbp5QdFmfAOInpilhs5ZeAj4mLyx1xKpue4JQai zNCokqrYDF8lE10GEXwiuLSlcdCQPp4/OCRcbqKNQ8iw1sLTUrHpLOgPNodke7aQVZ16 bMlYmhl98FvS5GpddUqX9ARi+FztnFfCMaPVMr536VZYoWKmzFSkV8TBuNcwgkjdgH1O 2suVqmhzE9lcBey/JRWGnIydn/vej9aIUys7hnhK7qBNZYGkWkza2dKayWyS1UQWBSgx 0auA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-language:content-transfer-encoding :in-reply-to:mime-version:user-agent:date:message-id:from:references :cc:to:subject:dkim-signature; bh=ieV+NzFBwSkcV+dUMdH1Zwl99MJbYbRKj6zgzR3HYo8=; b=z3rWjAx189a/FucmFMWyCrJ1fqGaUDZhWsrZ2/LbYrp2HU47zsH5NvNNVcrbD3DIB7 v+yZHXKETMrqm6/u32ttd7rPO1MBKgvTlA2zxp+YGlgBGBBU3B381y7UWx2Pato33B36 8pXFuU+vfnc7bs1G93P5vL2KzISTi8+Sb8XOxALAVtSDttQlWTbSrtBFRBFTkPkaSVIp 4HmMzPHU2MMVUIAHMsUcYhTL6GGfg0b/mLJmMsmO8qYdvw4yin9eEusE6jmqhyYkDbPE mXBDG8YlkwOrJcDiIO+o8OLjwJvS1FKsiG1/Gi/aDPW4nYW6gh/m90hPiLRCcSc/41zj /2mw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=fw2wAsjV; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id d20si6375615ioo.61.2021.08.14.16.53.49; Sat, 14 Aug 2021 16:54:01 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=fw2wAsjV; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233942AbhHNXxl (ORCPT + 99 others); Sat, 14 Aug 2021 19:53:41 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:59828 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233549AbhHNXxk (ORCPT ); Sat, 14 Aug 2021 19:53:40 -0400 Received: from mail-pj1-x1029.google.com (mail-pj1-x1029.google.com [IPv6:2607:f8b0:4864:20::1029]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 54ED7C061764; Sat, 14 Aug 2021 16:53:11 -0700 (PDT) Received: by mail-pj1-x1029.google.com with SMTP id n5so423115pjt.4; Sat, 14 Aug 2021 16:53:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-transfer-encoding:content-language; bh=ieV+NzFBwSkcV+dUMdH1Zwl99MJbYbRKj6zgzR3HYo8=; b=fw2wAsjVNzwOXlztdlYhKMmryILu560cBP1n1eH1E7aNbT75pBui01fq4RdxbFfy6O 4X+hk8Du9XGkpszCNLHSaKIRL85MFDBDOmB6WRixaLMNPxFEmhI+cwExRoiOjkktHPzy qKRgf/J15GqAlMmi8/MFo8IPGgj3JCnjLeYCTcRL5gQ1Z9LY04wKApcl0jTRTEoXU3Vp L0R2iWJmAgY3BW+sJ3U4F50kIuWE5Odxw2XOdyY5ekowFJV/VCS5CFmTdLnpeQUP1lZ8 zkkPoBsy6LTuWu6ByZrUMPxsEJmPSBUIiKNkFtPbABERuOFVHpngZ52xDrmn2F0lu4r/ UDpw== 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-transfer-encoding :content-language; bh=ieV+NzFBwSkcV+dUMdH1Zwl99MJbYbRKj6zgzR3HYo8=; b=YUhUFl8jK1J42HFcMEqbpSpNGzU0/rv/MWIPJckSE4odCJ3pubygdaivvyZ4GX4s2P keUiSNvpkahoCGqxymXvIqoRr2eAraIGkyZfTiXhIfj6AMDtEc11xnYNb6lDuIO2Lcva zFE5K+asS7YbH389SFsgRV+IosCQ98N7BXTQelSknfY+fMSHq2iwPZEDfWi+tb8GrhhH Lt0Mvg0JnLeCAm7kk6QTv6+fWx5qjXLjjiZc5I/ZQW3Uj+mkpy5A3C8xlIWtuRYcuXQ/ 7pFDlUJcua8LoU3pD6T8lH/rqorJraqz63k/qNvCU0aITOhq3A+amt8AFTnPVCiCGDsT zrbg== X-Gm-Message-State: AOAM531fGddN2m2Fsjoze+1E7bFI8wATwUm+5vwknn5iOwUVAYf6+eC/ 6cHasJ3dp3loogeO04O98kQ= X-Received: by 2002:a17:90a:7aca:: with SMTP id b10mr9241895pjl.172.1628985190829; Sat, 14 Aug 2021 16:53:10 -0700 (PDT) Received: from [192.168.255.10] ([203.205.141.113]) by smtp.gmail.com with ESMTPSA id w5sm1272085pgp.79.2021.08.14.16.53.08 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 14 Aug 2021 16:53:09 -0700 (PDT) Subject: Re: [PATCH v3] blk-throtl: optimize IOPS throttle for large IO scenarios To: axboe@kernel.dk Cc: linux-block@vger.kernel.org, linux-kernel@vger.kernel.org, cgroups@vger.kernel.org, Tejun Heo References: <65869aaad05475797d63b4c3fed4f529febe3c26.1627876014.git.brookxu@tencent.com> From: "brookxu.cn" Message-ID: <98864178-cf4d-b86e-81e1-70713a0f1d06@gmail.com> Date: Sun, 15 Aug 2021 07:53:06 +0800 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0) Gecko/20100101 Thunderbird/78.12.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Content-Language: en-US Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Jens: Should we apply this patch for new and older kernel ? Thanks. On 2021/8/10 6:39 AM, Tejun Heo wrote: > On Mon, Aug 02, 2021 at 11:51:56AM +0800, brookxu wrote: >> From: Chunguang Xu >> >> After patch 54efd50 (block: make generic_make_request handle >> arbitrarily sized bios), the IO through io-throttle may be larger, >> and these IOs may be further split into more small IOs. However, >> IOPS throttle does not seem to be aware of this change, which >> makes the calculation of IOPS of large IOs incomplete, resulting >> in disk-side IOPS that does not meet expectations. Maybe we should >> fix this problem. >> >> We can reproduce it by set max_sectors_kb of disk to 128, set >> blkio.write_iops_throttle to 100, run a dd instance inside blkio >> and use iostat to watch IOPS: >> >> dd if=/dev/zero of=/dev/sdb bs=1M count=1000 oflag=direct >> >> As a result, without this change the average IOPS is 1995, with >> this change the IOPS is 98. >> >> v3: Optimize the use of atomic variables. >> v2: Use atomic variables to solve synchronization problems. >> >> Signed-off-by: Chunguang Xu > Acked-by: Tejun Heo > > Thanks. >