public inbox for [email protected]
 help / color / mirror / Atom feed
* [GIT PULL] io_uring async discard support
@ 2024-09-13 17:02 Jens Axboe
  2024-09-16 11:59 ` pr-tracker-bot
  0 siblings, 1 reply; 2+ messages in thread
From: Jens Axboe @ 2024-09-13 17:02 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: io-uring, [email protected]

Hi Linus,

As mentioned, and sitting on top of both the 6.12 block and io_uring
core branches, here's support for async discard through io_uring. This
allows applications to issue async discards, rather than rely on the
blocking sync ioctl discards we already have. The sync support is
difficult to use outside of idle/cleanup periods. On a real (but slow)
device, testing shows the following results when compared to sync
discard:

qd64 sync discard: 21K IOPS, lat avg 3 msec (max 21 msec)
qd64 async discard: 76K IOPS, lat avg 845 usec (max 2.2 msec)

qd64 sync discard: 14K IOPS, lat avg 5 msec (max 25 msec)
qd64 async discard: 56K IOPS, lat avg 1153 usec (max 3.6 msec)

and synthetic null_blk testing with the same queue depth and block size
settings as above shows:

Type	Trim size	IOPS	Lat avg (usec)	Lat Max (usec)
==============================================================
sync	4k		 144K	    444		   20314
async	4k		1353K	     47		     595
sync	1M		  56K	   1136		   21031
async	1M		  94K	    680		     760			

Please pull!


The following changes since commit 84eacf177faa605853c58e5b1c0d9544b88c16fd:

  io_uring/io-wq: inherit cpuset of cgroup in io worker (2024-09-11 07:27:56 -0600)

are available in the Git repository at:

  git://git.kernel.dk/linux.git tags/for-6.12/io_uring-discard-20240913

for you to fetch changes up to 50c52250e2d74b098465841163c18f4b4e9ad430:

  block: implement async io_uring discard cmd (2024-09-11 10:45:28 -0600)

----------------------------------------------------------------
for-6.12/io_uring-discard-20240913

----------------------------------------------------------------
Jens Axboe (2):
      Merge branch 'for-6.12/block' into for-6.12/io_uring-discard
      Merge branch 'for-6.12/io_uring' into for-6.12/io_uring-discard

Pavel Begunkov (5):
      io_uring/cmd: expose iowq to cmds
      io_uring/cmd: give inline space in request to cmds
      filemap: introduce filemap_invalidate_pages
      block: introduce blk_validate_byte_range()
      block: implement async io_uring discard cmd

 block/blk.h                  |   1 +
 block/fops.c                 |   2 +
 block/ioctl.c                | 163 +++++++++++++++++++++++++++++++----
 include/linux/io_uring/cmd.h |  15 ++++
 include/linux/pagemap.h      |   2 +
 include/uapi/linux/blkdev.h  |  14 +++
 io_uring/io_uring.c          |  11 +++
 io_uring/io_uring.h          |   1 +
 io_uring/uring_cmd.c         |   7 ++
 mm/filemap.c                 |  17 ++--
 10 files changed, 209 insertions(+), 24 deletions(-)

-- 
Jens Axboe


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [GIT PULL] io_uring async discard support
  2024-09-13 17:02 [GIT PULL] io_uring async discard support Jens Axboe
@ 2024-09-16 11:59 ` pr-tracker-bot
  0 siblings, 0 replies; 2+ messages in thread
From: pr-tracker-bot @ 2024-09-16 11:59 UTC (permalink / raw)
  To: Jens Axboe; +Cc: Linus Torvalds, io-uring, [email protected]

The pull request you sent on Fri, 13 Sep 2024 11:02:24 -0600:

> git://git.kernel.dk/linux.git tags/for-6.12/io_uring-discard-20240913

has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/adfc3ded5c33d67e822525f95404ef0becb099b8

Thank you!

-- 
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/prtracker.html

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2024-09-16 11:59 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-09-13 17:02 [GIT PULL] io_uring async discard support Jens Axboe
2024-09-16 11:59 ` pr-tracker-bot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox