From: Jens Axboe <axboe@kernel.dk>
To: Omar Sandoval <osandov@osandov.com>
Cc: linux-block@vger.kernel.org, linux-nvme@lists.infradead.org
Subject: Re: [PATCH 2/8] block: improve logic around when to sort a plug list
Date: Tue, 27 Nov 2018 17:16:17 -0700 [thread overview]
Message-ID: <142fca05-eb21-48ff-8dc3-ddc8797e7e1a@kernel.dk> (raw)
In-Reply-To: <20181128000501.GH846@vader>
On 11/27/18 5:05 PM, Omar Sandoval wrote:
>> +static void blk_add_rq_to_plug(struct blk_plug *plug, struct request *rq)
>> +{
>> + list_add_tail(&rq->queuelist, &plug->mq_list);
>> + plug->rq_count++;
>> + if (!plug->multiple_queues && !list_is_singular(&plug->mq_list)) {
>> + struct request *tmp;
>> +
>> + tmp = list_first_entry(&plug->mq_list, struct request,
>> + queuelist);
>> + if (tmp->q != rq->q)
>> + plug->multiple_queues = true;
>
> Actually, I thought we want to sort whenever there are different
> software/hardware queues on the plug list, even if they're on the same
> queue?
That was the original intent, but with the tons of testing I've done
lately, the cost of sorting batches is higher than the cost we pay for
having to do multiple inserts. So I think the only sane case is >= 3
requests, and multiple queues.
--
Jens Axboe
WARNING: multiple messages have this Message-ID (diff)
From: axboe@kernel.dk (Jens Axboe)
Subject: [PATCH 2/8] block: improve logic around when to sort a plug list
Date: Tue, 27 Nov 2018 17:16:17 -0700 [thread overview]
Message-ID: <142fca05-eb21-48ff-8dc3-ddc8797e7e1a@kernel.dk> (raw)
In-Reply-To: <20181128000501.GH846@vader>
On 11/27/18 5:05 PM, Omar Sandoval wrote:
>> +static void blk_add_rq_to_plug(struct blk_plug *plug, struct request *rq)
>> +{
>> + list_add_tail(&rq->queuelist, &plug->mq_list);
>> + plug->rq_count++;
>> + if (!plug->multiple_queues && !list_is_singular(&plug->mq_list)) {
>> + struct request *tmp;
>> +
>> + tmp = list_first_entry(&plug->mq_list, struct request,
>> + queuelist);
>> + if (tmp->q != rq->q)
>> + plug->multiple_queues = true;
>
> Actually, I thought we want to sort whenever there are different
> software/hardware queues on the plug list, even if they're on the same
> queue?
That was the original intent, but with the tons of testing I've done
lately, the cost of sorting batches is higher than the cost we pay for
having to do multiple inserts. So I think the only sane case is >= 3
requests, and multiple queues.
--
Jens Axboe
next prev parent reply other threads:[~2018-11-28 0:16 UTC|newest]
Thread overview: 84+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-11-26 16:35 [PATCHSET 0/8] block plugging improvements Jens Axboe
2018-11-26 16:35 ` Jens Axboe
2018-11-26 16:35 ` [PATCH 1/8] block: sum requests in the plug structure Jens Axboe
2018-11-26 16:35 ` Jens Axboe
2018-11-26 17:02 ` Christoph Hellwig
2018-11-26 17:02 ` Christoph Hellwig
2018-11-26 16:35 ` [PATCH 2/8] block: improve logic around when to sort a plug list Jens Axboe
2018-11-26 16:35 ` Jens Axboe
2018-11-27 23:31 ` Omar Sandoval
2018-11-27 23:31 ` Omar Sandoval
2018-11-27 23:49 ` Jens Axboe
2018-11-27 23:49 ` Jens Axboe
2018-11-27 23:55 ` Omar Sandoval
2018-11-27 23:55 ` Omar Sandoval
2018-11-27 23:59 ` Jens Axboe
2018-11-27 23:59 ` Jens Axboe
2018-11-28 0:05 ` Omar Sandoval
2018-11-28 0:05 ` Omar Sandoval
2018-11-28 0:16 ` Jens Axboe [this message]
2018-11-28 0:16 ` Jens Axboe
2018-11-26 16:35 ` [PATCH 3/8] blk-mq: add mq_ops->commit_rqs() Jens Axboe
2018-11-26 16:35 ` Jens Axboe
2018-11-27 23:43 ` Omar Sandoval
2018-11-27 23:43 ` Omar Sandoval
2018-11-28 1:38 ` Ming Lei
2018-11-28 1:38 ` Ming Lei
2018-11-28 7:16 ` Christoph Hellwig
2018-11-28 7:16 ` Christoph Hellwig
2018-11-28 12:54 ` Jens Axboe
2018-11-28 12:54 ` Jens Axboe
2018-11-26 16:35 ` [PATCH 4/8] nvme: implement mq_ops->commit_rqs() hook Jens Axboe
2018-11-26 16:35 ` Jens Axboe
2018-11-28 7:20 ` Christoph Hellwig
2018-11-28 7:20 ` Christoph Hellwig
2018-11-28 13:07 ` Jens Axboe
2018-11-28 13:07 ` Jens Axboe
2018-11-26 16:35 ` [PATCH 5/8] virtio_blk: " Jens Axboe
2018-11-26 16:35 ` Jens Axboe
2018-11-27 23:45 ` Omar Sandoval
2018-11-27 23:45 ` Omar Sandoval
2018-11-28 3:05 ` Michael S. Tsirkin
2018-11-28 3:05 ` Michael S. Tsirkin
2018-11-28 2:10 ` Ming Lei
2018-11-28 2:10 ` Ming Lei
2018-11-28 2:34 ` Jens Axboe
2018-11-28 2:34 ` Jens Axboe
2018-11-29 1:23 ` Ming Lei
2018-11-29 1:23 ` Ming Lei
2018-11-29 2:19 ` Jens Axboe
2018-11-29 2:19 ` Jens Axboe
2018-11-29 2:51 ` Ming Lei
2018-11-29 2:51 ` Ming Lei
2018-11-29 3:13 ` Jens Axboe
2018-11-29 3:13 ` Jens Axboe
2018-11-29 3:27 ` Ming Lei
2018-11-29 3:27 ` Ming Lei
2018-11-29 3:53 ` Jens Axboe
2018-11-29 3:53 ` Jens Axboe
2018-11-28 7:21 ` Christoph Hellwig
2018-11-28 7:21 ` Christoph Hellwig
2018-11-26 16:35 ` [PATCH 6/8] ataflop: " Jens Axboe
2018-11-26 16:35 ` Jens Axboe
2018-11-27 23:46 ` Omar Sandoval
2018-11-27 23:46 ` Omar Sandoval
2018-11-28 7:22 ` Christoph Hellwig
2018-11-28 7:22 ` Christoph Hellwig
2018-11-28 13:09 ` Jens Axboe
2018-11-28 13:09 ` Jens Axboe
2018-11-26 16:35 ` [PATCH 7/8] blk-mq: use bd->last == true for list inserts Jens Axboe
2018-11-26 16:35 ` Jens Axboe
2018-11-27 23:49 ` Omar Sandoval
2018-11-27 23:49 ` Omar Sandoval
2018-11-27 23:51 ` Jens Axboe
2018-11-27 23:51 ` Jens Axboe
2018-11-28 1:49 ` Ming Lei
2018-11-28 1:49 ` Ming Lei
2018-11-28 2:37 ` Jens Axboe
2018-11-28 2:37 ` Jens Axboe
2018-11-26 16:35 ` [PATCH 8/8] blk-mq: add plug case for devices that implement ->commits_rqs() Jens Axboe
2018-11-26 16:35 ` Jens Axboe
2018-11-28 7:26 ` Christoph Hellwig
2018-11-28 7:26 ` Christoph Hellwig
2018-11-28 13:11 ` Jens Axboe
2018-11-28 13:11 ` 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=142fca05-eb21-48ff-8dc3-ddc8797e7e1a@kernel.dk \
--to=axboe@kernel.dk \
--cc=linux-block@vger.kernel.org \
--cc=linux-nvme@lists.infradead.org \
--cc=osandov@osandov.com \
/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.