public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Tejun Heo <tj@kernel.org>
To: Shaohua Li <shli@kernel.org>
Cc: axboe@kernel.dk, linux-kernel@vger.kernel.org,
	kernel-team@fb.com, lizefan@huawei.com, hannes@cmpxchg.org,
	cgroups@vger.kernel.org, guro@fb.com
Subject: Re: [PATCH 7/7] blk-throtl: don't throttle the same IO multiple times
Date: Mon, 13 Nov 2017 03:13:48 -0800	[thread overview]
Message-ID: <20171113111348.GF983427@devbig577.frc2.facebook.com> (raw)
In-Reply-To: <20171113040716.kaheegc4qub42n6z@kernel.org>

Hello, Shaohua.

On Sun, Nov 12, 2017 at 08:07:16PM -0800, Shaohua Li wrote:
> Thanks for looking into this while I was absence. I don't understand how this
> works. Assume a bio will be splitted into 2 small bios. In
> generic_make_request, we charge the whole bio. 'q->make_request_fn' will
> dispatch the first small bio, and call generic_make_request for the second
> small bio. Then generic_make_request charge the second small bio and we add the
> second small bio to current->bio_list[0] (please check the order). In above

You're right.  If we wanna take this approach, we need to keep the
throttled flag while cloning.  The clearing part is still correct tho.
Without that, I get 1/4 bw limit enforced.  Hmm... I'm not quite sure
where that 1/4 is coming from tho.  Will investigate more.

> code the patch changed, we pop the second small bio and set BIO_THROTTLED for
> it. But this is already too late, because generic_make_request already charged
> the second small bio.
> 
> Did you look at my original patch
> (https://marc.info/?l=linux-block&m=150791825327628&w=2), anything wrong?

That should work too but if we have to modify clone path anyway and
clear the flag when the bio leaves the queue, we don't need to add a
dedicated field to bio, right?

Thanks.

-- 
tejun

  reply	other threads:[~2017-11-13 11:13 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-11-12 22:26 [PATCHSET] blkcg: basic accounting and throttling fixes Tejun Heo
2017-11-12 22:26 ` [PATCH 1/7] blkcg: relocate __blkg_release_rcu() Tejun Heo
2017-11-14 23:12   ` Shaohua Li
2017-11-12 22:26 ` [PATCH 2/7] blkcg: use percpu_ref for blkcg_gq->refcnt Tejun Heo
2017-11-14 23:12   ` Shaohua Li
2017-11-12 22:26 ` [PATCH 3/7] blkcg: associate a request with its blkcg_gq instead of request_list Tejun Heo
2017-11-13 20:15   ` [PATCH v2 " Tejun Heo
2017-11-14 23:17     ` Shaohua Li
2017-11-15 17:11       ` Tejun Heo
2017-11-12 22:26 ` [PATCH 4/7] blkcg: refactor blkcg_gq lookup and creation in blkcg_bio_issue_check() Tejun Heo
2017-11-14 23:18   ` Shaohua Li
2017-11-12 22:26 ` [PATCH 5/7] blkcg: associate blk-mq requests with the matching blkcg_gqs Tejun Heo
2017-11-12 22:26 ` [PATCH 6/7] blkcg: account requests instead of bios for request based request_queues Tejun Heo
2017-11-14 23:23   ` Shaohua Li
2017-11-15 17:18     ` [PATCH v2 " Tejun Heo
2017-11-15 17:19     ` [PATCH " Jens Axboe
2017-11-15 17:22       ` [PATCH v3 " Tejun Heo
2017-11-12 22:26 ` [PATCH 7/7] blk-throtl: don't throttle the same IO multiple times Tejun Heo
2017-11-13  4:07   ` Shaohua Li
2017-11-13 11:13     ` Tejun Heo [this message]
2017-11-13 15:57       ` Tejun Heo
2017-11-13 19:54         ` Shaohua Li
2017-11-13 19:58           ` Tejun Heo
2017-11-13 19:58         ` Shaohua Li

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=20171113111348.GF983427@devbig577.frc2.facebook.com \
    --to=tj@kernel.org \
    --cc=axboe@kernel.dk \
    --cc=cgroups@vger.kernel.org \
    --cc=guro@fb.com \
    --cc=hannes@cmpxchg.org \
    --cc=kernel-team@fb.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lizefan@huawei.com \
    --cc=shli@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox