From: Pankaj Raghav <p.raghav@samsung.com>
To: Hannes Reinecke <hare@suse.de>
Cc: Jens Axboe <axboe@kernel.dk>, <linux-block@vger.kernel.org>,
Matthew Wilcox <willy@infradead.org>,
Luis Chamberlain <mcgrof@kernel.org>,
Keith Busch <kbusch@kernel.org>
Subject: Re: [PATCH 0/5] brd: Allow to change block sizes
Date: Tue, 7 Mar 2023 12:33:48 +0100 [thread overview]
Message-ID: <20230307113348.vhthkahkut7ve5tq@blixen> (raw)
In-Reply-To: <20230306120127.21375-1-hare@suse.de>
Hi Hannes,
On Mon, Mar 06, 2023 at 01:01:22PM +0100, Hannes Reinecke wrote:
> Hi all,
>
> meat to the bone: with this patchset one can change the physical and
> logical block size of the 'brd' ramdisk driver.
> Default is 512 (for both); one can easily increase the physical block
> size to 16k and the logical block size to 4k.
> Increasing the logcial block size beyond 4k gives some 'interesting'
> crashes.
I did something similar for an internal prototype to test large block
size. I ran the perf test suite I created on your changes and I can
clearly see a perf increase for large block IOs.
I enabled huge pages and used the iomem=mmaphuge option in fio to test
large block IOs. Here are my results:
base: next-20230307
new: base with your changes on top
bw: bandwith in MiB/s
For each set of rd_blksize and rd_logical_blksize, I ran the test with
different fio blocksize as indicated by `io_uring_iod_128_bs_4k`
rd_blksize=8192 and rd_logical_blksize=4096
+------------------------+-------------+------------+-------+----------+---------+-------+
| io_uring_iod_128_bs_4k | base[kiops] | new[kiops] | delta | base[bw] | new[bw] | delta |
+------------------------+-------------+------------+-------+----------+---------+-------+
| read | 567 | 605 | 6.7 | 2214 | 2362 | 6.68 |
| randread | 517 | 529 | 2.32 | 2019 | 2066 | 2.33 |
| write | 551 | 558 | 1.27 | 2154 | 2179 | 1.16 |
| randwrite | 481 | 502 | 4.37 | 1880 | 1962 | 4.36 |
+------------------------+-------------+------------+-------+----------+---------+-------+
+------------------------+-------------+------------+-------+----------+---------+-------+
| io_uring_iod_128_bs_8k | base[kiops] | new[kiops] | delta | base[bw] | new[bw] | delta |
+------------------------+-------------+------------+-------+----------+---------+-------+
| read | 462 | 512 | 10.82 | 3611 | 3997 | 10.69 |
| randread | 426 | 445 | 4.46 | 3326 | 3480 | 4.63 |
| write | 442 | 472 | 6.79 | 3454 | 3687 | 6.75 |
| randwrite | 401 | 426 | 6.23 | 3134 | 3328 | 6.19 |
+------------------------+-------------+------------+-------+----------+---------+-------+
+-------------------------+-------------+------------+-------+----------+---------+-------+
| io_uring_iod_128_bs_16k | base[kiops] | new[kiops] | delta | base[bw] | new[bw] | delta |
+-------------------------+-------------+------------+-------+----------+---------+-------+
| read | 343 | 390 | 13.7 | 5360 | 6086 | 13.54 |
| randread | 317 | 364 | 14.83 | 4946 | 5694 | 15.12 |
| write | 335 | 346 | 3.28 | 5235 | 5414 | 3.42 |
| randwrite | 305 | 327 | 7.21 | 4759 | 5106 | 7.29 |
+-------------------------+-------------+------------+-------+----------+---------+-------+
rd_blksize=16384 and rd_logical_blksize=4096
+------------------------+-------------+------------+-------+----------+---------+-------+
| io_uring_iod_128_bs_4k | base[kiops] | new[kiops] | delta | base[bw] | new[bw] | delta |
+------------------------+-------------+------------+-------+----------+---------+-------+
| read | 576 | 586 | 1.74 | 2250 | 2291 | 1.82 |
| randread | 524 | 548 | 4.58 | 2046 | 2139 | 4.55 |
| write | 533 | 545 | 2.25 | 2081 | 2129 | 2.31 |
| randwrite | 484 | 496 | 2.48 | 1892 | 1938 | 2.43 |
+------------------------+-------------+------------+-------+----------+---------+-------+
+------------------------+-------------+------------+-------+----------+---------+-------+
| io_uring_iod_128_bs_8k | base[kiops] | new[kiops] | delta | base[bw] | new[bw] | delta |
+------------------------+-------------+------------+-------+----------+---------+-------+
| read | 461 | 491 | 6.51 | 3601 | 3836 | 6.53 |
| randread | 425 | 472 | 11.06 | 3323 | 3684 | 10.86 |
| write | 454 | 465 | 2.42 | 3543 | 3632 | 2.51 |
| randwrite | 395 | 430 | 8.86 | 3086 | 3357 | 8.78 |
+------------------------+-------------+------------+-------+----------+---------+-------+
+-------------------------+-------------+------------+-------+----------+---------+-------+
| io_uring_iod_128_bs_16k | base[kiops] | new[kiops] | delta | base[bw] | new[bw] | delta |
+-------------------------+-------------+------------+-------+----------+---------+-------+
| read | 338 | 400 | 18.34 | 5282 | 6255 | 18.42 |
| randread | 317 | 384 | 21.14 | 4959 | 5997 | 20.93 |
| write | 335 | 354 | 5.67 | 5239 | 5525 | 5.46 |
| randwrite | 303 | 326 | 7.59 | 4728 | 5097 | 7.8 |
+-------------------------+-------------+------------+-------+----------+---------+-------+
prev parent reply other threads:[~2023-03-07 11:57 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <CGME20230307114200eucas1p296a60514feb40c4a08f380cc28aeeb51@eucas1p2.samsung.com>
2023-03-06 12:01 ` [PATCH 0/5] brd: Allow to change block sizes Hannes Reinecke
2023-03-06 12:01 ` [PATCH 1/5] brd: convert to folios Hannes Reinecke
2023-03-06 16:04 ` kernel test robot
2023-03-06 17:37 ` Matthew Wilcox
2023-03-07 6:55 ` Hannes Reinecke
2023-03-07 7:30 ` Matthew Wilcox
2023-03-09 3:28 ` Luis Chamberlain
[not found] ` <a4489f7b-912c-e68f-4a4c-c14d96026bd6@suse.de>
2023-03-21 15:00 ` Matthew Wilcox
2023-03-21 15:26 ` Hannes Reinecke
2023-03-09 2:29 ` Luis Chamberlain
2023-03-06 12:01 ` [PATCH 2/5] brd: abstract page_size conventions Hannes Reinecke
2023-03-06 12:01 ` [PATCH 3/5] brd: make sector size configurable Hannes Reinecke
2023-03-09 3:12 ` Luis Chamberlain
2023-03-20 22:52 ` Luis Chamberlain
2023-03-20 23:40 ` Martin K. Petersen
2023-03-21 0:14 ` Luis Chamberlain
2023-03-06 12:01 ` [PATCH 4/5] brd: limit maximal block size to 32M Hannes Reinecke
2023-03-06 17:40 ` Matthew Wilcox
2023-03-07 6:56 ` Hannes Reinecke
2023-03-06 18:01 ` Keith Busch
2023-03-07 6:57 ` Hannes Reinecke
2023-03-06 12:01 ` [PATCH 5/5] brd: make logical sector size configurable Hannes Reinecke
2023-03-07 9:01 ` Pankaj Raghav
2023-03-07 11:06 ` Hannes Reinecke
2023-05-17 9:31 ` Pankaj Raghav
2023-03-07 11:33 ` Pankaj Raghav [this message]
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=20230307113348.vhthkahkut7ve5tq@blixen \
--to=p.raghav@samsung.com \
--cc=axboe@kernel.dk \
--cc=hare@suse.de \
--cc=kbusch@kernel.org \
--cc=linux-block@vger.kernel.org \
--cc=mcgrof@kernel.org \
--cc=willy@infradead.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