[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <4d118f20-9006-0af9-8d97-0d28d85a3585@kernel.dk>
Date: Wed, 7 Dec 2022 19:55:30 -0700
From: Jens Axboe <axboe@...nel.dk>
To: Keith Busch <kbusch@...nel.org>,
Chaitanya Kulkarni <chaitanyak@...dia.com>
Cc: Gulam Mohamed <gulam.mohamed@...cle.com>,
"linux-block@...r.kernel.org" <linux-block@...r.kernel.org>,
"philipp.reisner@...bit.com" <philipp.reisner@...bit.com>,
"lars.ellenberg@...bit.com" <lars.ellenberg@...bit.com>,
"christoph.boehmwalder@...bit.com" <christoph.boehmwalder@...bit.com>,
"minchan@...nel.org" <minchan@...nel.org>,
"ngupta@...are.org" <ngupta@...are.org>,
"senozhatsky@...omium.org" <senozhatsky@...omium.org>,
"colyli@...e.de" <colyli@...e.de>,
"kent.overstreet@...il.com" <kent.overstreet@...il.com>,
"agk@...hat.com" <agk@...hat.com>,
"snitzer@...nel.org" <snitzer@...nel.org>,
"dm-devel@...hat.com" <dm-devel@...hat.com>,
"song@...nel.org" <song@...nel.org>,
"dan.j.williams@...el.com" <dan.j.williams@...el.com>,
"vishal.l.verma@...el.com" <vishal.l.verma@...el.com>,
"dave.jiang@...el.com" <dave.jiang@...el.com>,
"ira.weiny@...el.com" <ira.weiny@...el.com>,
"junxiao.bi@...cle.com" <junxiao.bi@...cle.com>,
"martin.petersen@...cle.com" <martin.petersen@...cle.com>,
"drbd-dev@...ts.linbit.com" <drbd-dev@...ts.linbit.com>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"linux-bcache@...r.kernel.org" <linux-bcache@...r.kernel.org>,
"linux-raid@...r.kernel.org" <linux-raid@...r.kernel.org>,
"nvdimm@...ts.linux.dev" <nvdimm@...ts.linux.dev>,
"konrad.wilk@...cle.com" <konrad.wilk@...cle.com>,
"joe.jin@...cle.com" <joe.jin@...cle.com>
Subject: Re: [RFC for-6.2/block V2] block: Change the granularity of io ticks
from ms to ns
On 12/7/22 5:35?PM, Keith Busch wrote:
> On Wed, Dec 07, 2022 at 11:17:12PM +0000, Chaitanya Kulkarni wrote:
>> On 12/7/22 15:08, Jens Axboe wrote:
>>>
>>> My default peak testing runs at 122M IOPS. That's also the peak IOPS of
>>> the devices combined, and with iostats disabled. If I enabled iostats,
>>> then the performance drops to 112M IOPS. It's no longer device limited,
>>> that's a drop of about 8.2%.
>>>
>>
>> Wow, clearly not acceptable that's exactly I asked for perf
>> numbers :).
>
> For the record, we did say per-io ktime_get() has a measurable
> performance harm and should be aggregated.
>
> https://www.spinics.net/lists/linux-block/msg89937.html
Yes, I iterated that in the v1 posting as well, and mentioned it was the
reason the time batching was done. From the results I posted, if you
look at a profile of the run, here are the time related additions:
+ 27.22% io_uring [kernel.vmlinux] [k] read_tsc
+ 4.37% io_uring [kernel.vmlinux] [k] ktime_get
which are #1 and $4, respectively. That's a LOT of added overhead. Not
sure why people think time keeping is free, particularly high
granularity time keeping. It's definitely not, and adding 2-3 per IO is
very noticeable.
--
Jens Axboe
Powered by blists - more mailing lists