All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jens Axboe <axboe@kernel.dk>
To: Bart Van Assche <bvanassche@acm.org>,
	Zhen Lei <thunder.leizhen@huawei.com>,
	linux-block <linux-block@vger.kernel.org>,
	linux-kernel@vger.kernel.org
Cc: Damien Le Moal <damien.lemoal@wdc.com>
Subject: Re: [PATCH] block/mq-deadline: Speed up the dispatch of low-priority requests
Date: Thu, 26 Aug 2021 12:13:39 -0600	[thread overview]
Message-ID: <537620de-646d-e78e-ccb8-4105bac398b3@kernel.dk> (raw)
In-Reply-To: <fc1f2664-fc4f-7b3e-5542-d9e4800a5bde@acm.org>

On 8/26/21 12:09 PM, Bart Van Assche wrote:
> On 8/26/21 7:40 AM, Zhen Lei wrote:
>> lock protection needs to be added only in dd_finish_request(), which
>> is unlikely to cause significant performance side effects.
> 
> Not sure the above is correct. Every new atomic instruction has a
> measurable performance overhead. But I guess in this case that
> overhead is smaller than the time needed to sum 128 per-CPU variables.

perpcu counters only really work, if the summing is not in a hot path,
or if the summing is just some "not zero" thing instead of a full sum.
They just don't scale at all for even moderately sized systems.

>> Tested on my 128-core board with two ssd disks.
>> fio bs=4k rw=read iodepth=128 cpus_allowed=0-95 <others>
>> Before:
>> [183K/0/0 iops]
>> [172K/0/0 iops]
>>
>> After:
>> [258K/0/0 iops]
>> [258K/0/0 iops]
> 
> Nice work!
> 
>> Fixes: fb926032b320 ("block/mq-deadline: Prioritize high-priority requests")
> 
> Shouldn't the Fixes: tag be used only for patches that modify
> functionality? I'm not sure it is appropriate to use this tag for
> performance improvements.

For a regression this big, I think it's the right thing. Anyone that may
backport the original commit definitely should also get the followup
fix. This isn't just a performance improvement, it's fixing a big
performance regression.

-- 
Jens Axboe


  reply	other threads:[~2021-08-26 18:13 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-08-26 14:40 [PATCH] block/mq-deadline: Speed up the dispatch of low-priority requests Zhen Lei
2021-08-26 18:09 ` Bart Van Assche
2021-08-26 18:13   ` Jens Axboe [this message]
2021-08-26 18:45     ` Jens Axboe
2021-08-26 19:17       ` Bart Van Assche
2021-08-26 19:32         ` Jens Axboe
2021-08-26 23:49       ` Bart Van Assche
2021-08-26 23:51         ` Jens Axboe
2021-08-27  0:03           ` Bart Van Assche
2021-08-27  0:05             ` Jens Axboe
2021-08-27  0:58               ` Bart Van Assche
2021-08-27  2:48               ` Bart Van Assche
2021-08-27  3:13                 ` Jens Axboe
2021-08-27  4:49                   ` Damien Le Moal
2021-08-27 14:34                     ` Bart Van Assche
2021-08-29 23:02                       ` Damien Le Moal
2021-08-30  2:31                         ` Keith Busch
2021-08-30  3:03                           ` Damien Le Moal
2021-08-30  2:40                         ` Bart Van Assche
2021-08-30  3:07                           ` Damien Le Moal
2021-08-30 17:14                             ` Bart Van Assche
2021-08-30 21:42                               ` Damien Le Moal
2021-08-28  1:45                   ` Leizhen (ThunderTown)
2021-08-28  2:19                     ` Bart Van Assche
2021-08-28  2:42                       ` Leizhen (ThunderTown)
2021-08-28 13:14                         ` Leizhen (ThunderTown)
2021-08-28  1:59   ` Leizhen (ThunderTown)
2021-08-28  2:41     ` Bart Van Assche
2021-08-27  2:30 ` Damien Le Moal
2021-08-28  2:14   ` Leizhen (ThunderTown)

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=537620de-646d-e78e-ccb8-4105bac398b3@kernel.dk \
    --to=axboe@kernel.dk \
    --cc=bvanassche@acm.org \
    --cc=damien.lemoal@wdc.com \
    --cc=linux-block@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=thunder.leizhen@huawei.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.