mbox series

[v2,0/3] on top of for-5.16/block

Message ID cover.1634115360.git.asml.silence@gmail.com (mailing list archive)
Headers show
Series on top of for-5.16/block | expand

Message

Pavel Begunkov Oct. 13, 2021, 8:57 a.m. UTC
./io_uring -d32 -s32 -c32 -b512 -p1 /dev/nullb0
~3.3 MIOPS vs 3.5 MIOPS, so gives around extra ~4-5%.

The main part is caching struct block_device + some inlining.

v2: without applied patches, merge previous 6/6 into the second patch
    get rid of helpers (Jens, Christoph)
    kill bdev_inode and move inode into bdev (Christoph)

Pavel Begunkov (3):
  block: cache bdev in struct file for raw bdev IO
  block: don't hide inode from block_device users
  blk-mq: optimise *end_request non-stat path

 block/bdev.c              | 44 ++++++++++-----------------------------
 block/blk-mq.c            | 18 +++++++---------
 block/fops.c              | 43 ++++++++++++++++----------------------
 include/linux/blk_types.h |  1 +
 include/linux/blkdev.h    |  8 +++++--
 5 files changed, 44 insertions(+), 70 deletions(-)

Comments

Pavel Begunkov Oct. 13, 2021, 9:15 a.m. UTC | #1
On 10/13/21 09:57, Pavel Begunkov wrote:

Bodged subject, should've been block optimisation or so.

> ./io_uring -d32 -s32 -c32 -b512 -p1 /dev/nullb0
> ~3.3 MIOPS vs 3.5 MIOPS, so gives around extra ~4-5%.
> 
> The main part is caching struct block_device + some inlining.
> 
> v2: without applied patches, merge previous 6/6 into the second patch
>      get rid of helpers (Jens, Christoph)
>      kill bdev_inode and move inode into bdev (Christoph)
> 
> Pavel Begunkov (3):
>    block: cache bdev in struct file for raw bdev IO
>    block: don't hide inode from block_device users
>    blk-mq: optimise *end_request non-stat path
> 
>   block/bdev.c              | 44 ++++++++++-----------------------------
>   block/blk-mq.c            | 18 +++++++---------
>   block/fops.c              | 43 ++++++++++++++++----------------------
>   include/linux/blk_types.h |  1 +
>   include/linux/blkdev.h    |  8 +++++--
>   5 files changed, 44 insertions(+), 70 deletions(-)
>
Jens Axboe Oct. 13, 2021, 3:53 p.m. UTC | #2
On Wed, 13 Oct 2021 09:57:10 +0100, Pavel Begunkov wrote:
> ./io_uring -d32 -s32 -c32 -b512 -p1 /dev/nullb0
> ~3.3 MIOPS vs 3.5 MIOPS, so gives around extra ~4-5%.
> 
> The main part is caching struct block_device + some inlining.
> 
> v2: without applied patches, merge previous 6/6 into the second patch
>     get rid of helpers (Jens, Christoph)
>     kill bdev_inode and move inode into bdev (Christoph)
> 
> [...]

Applied, thanks!

[1/3] block: cache bdev in struct file for raw bdev IO
      commit: 82f652990a4ade2df9d6475ad82f4dd22a3265f6
[3/3] blk-mq: optimise *end_request non-stat path
      commit: e945e2edb67048c42527089cd9938454ae4f9c04

Best regards,