All of lore.kernel.org
 help / color / mirror / Atom feed
From: "brookxu.cn" <brookxu.cn@gmail.com>
To: axboe@kernel.dk
Cc: linux-block@vger.kernel.org, linux-kernel@vger.kernel.org,
	cgroups@vger.kernel.org, Tejun Heo <tj@kernel.org>
Subject: Re: [PATCH v3] blk-throtl: optimize IOPS throttle for large IO scenarios
Date: Sun, 15 Aug 2021 07:53:06 +0800	[thread overview]
Message-ID: <98864178-cf4d-b86e-81e1-70713a0f1d06@gmail.com> (raw)
In-Reply-To: <YRGumHUfK5sJc4A/@mtj.duckdns.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 <brookxu@tencent.com>
>>
>> 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 <brookxu@tencent.com>
> Acked-by: Tejun Heo <tj@kernel.org>
>
> Thanks.
>

WARNING: multiple messages have this Message-ID (diff)
From: "brookxu.cn" <brookxu.cn-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
To: axboe-tSWWG44O7X1aa/9Udqfwiw@public.gmane.org
Cc: linux-block-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	cgroups-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	Tejun Heo <tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
Subject: Re: [PATCH v3] blk-throtl: optimize IOPS throttle for large IO scenarios
Date: Sun, 15 Aug 2021 07:53:06 +0800	[thread overview]
Message-ID: <98864178-cf4d-b86e-81e1-70713a0f1d06@gmail.com> (raw)
In-Reply-To: <YRGumHUfK5sJc4A/@mtj.duckdns.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 <brookxu-1Nz4purKYjRBDgjK7y7TUQ@public.gmane.org>
>>
>> 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 <brookxu-1Nz4purKYjRBDgjK7y7TUQ@public.gmane.org>
> Acked-by: Tejun Heo <tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
>
> Thanks.
>

  reply	other threads:[~2021-08-14 23:53 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-08-02  3:51 [PATCH v3] blk-throtl: optimize IOPS throttle for large IO scenarios brookxu
2021-08-09 22:39 ` Tejun Heo
2021-08-14 23:53   ` brookxu.cn [this message]
2021-08-14 23:53     ` brookxu.cn
2021-08-15  1:14 ` Jens Axboe

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=98864178-cf4d-b86e-81e1-70713a0f1d06@gmail.com \
    --to=brookxu.cn@gmail.com \
    --cc=axboe@kernel.dk \
    --cc=cgroups@vger.kernel.org \
    --cc=linux-block@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=tj@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.