Re: [PATCH 01/29] iov_iter: Switch to using a table of operations
From: Jens Axboe <axboe@kernel.dk>
Date: 2020-11-24 15:30:50
Also in:
linux-fsdevel, lkml
On 11/24/20 5:50 AM, David Howells wrote:
Pavel Begunkov [off-list ref] wrote:quoted
fio is relatively heavy, I'd suggest to try fio/t/io_uring with nullblkno patches:
Here's what I get. nullb0 using blk-mq, and submit_queues==NPROC. iostats and merging disabled, using 8k bs for t/io_uring to ensure we have > 1 segment. Everything pinned to the same CPU to ensure reproducibility and stability. Kernel has CONFIG_RETPOLINE enabled. 5.10-rc5: IOPS=2453184, IOS/call=32/31, inflight=128 (128) IOPS=2435648, IOS/call=32/32, inflight=64 (64) IOPS=2448544, IOS/call=32/31, inflight=96 (96) IOPS=2439584, IOS/call=32/31, inflight=128 (128) IOPS=2454176, IOS/call=32/32, inflight=32 (32) 5.10-rc5+all patches IOPS=2304224, IOS/call=32/32, inflight=64 (64) IOPS=2309216, IOS/call=32/32, inflight=32 (32) IOPS=2305376, IOS/call=32/31, inflight=128 (128) IOPS=2300544, IOS/call=32/32, inflight=128 (128) IOPS=2301728, IOS/call=32/32, inflight=32 (32) which looks to be around a 6% drop. Using actual hardware instead of just null_blk: 5.10-rc5: IOPS=854163, IOS/call=31/31, inflight=101 (101) IOPS=855495, IOS/call=31/31, inflight=117 (117) IOPS=856118, IOS/call=31/31, inflight=100 (100) IOPS=855863, IOS/call=31/31, inflight=113 (113) IOPS=856282, IOS/call=31/31, inflight=116 (116) 5.10-rc5+all patches IOPS=833391, IOS/call=31/31, inflight=100 (100) IOPS=838342, IOS/call=31/31, inflight=100 (100) IOPS=839921, IOS/call=31/31, inflight=105 (105) IOPS=841607, IOS/call=31/31, inflight=123 (123) IOPS=843625, IOS/call=31/31, inflight=107 (107) which looks to be around 2-3%, but we're also running at a much slower rate (830K vs ~2.3M). -- Jens Axboe