public inbox for [email protected]
 help / color / mirror / Atom feed
* [GIT PULL] io_uring updates for 6.5
@ 2023-06-26  2:39 Jens Axboe
  2023-06-26 19:40 ` Linus Torvalds
  2023-06-26 20:02 ` pr-tracker-bot
  0 siblings, 2 replies; 5+ messages in thread
From: Jens Axboe @ 2023-06-26  2:39 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: io-uring

Hi Linus,

Nothing major in this release, just a bunch of cleanups and some
optimizations around networking mostly.

Will throw a minor conflict in io_uring/net.c due to the late fixes in
mainline, you'll want to keep the kmsg->msg.msg_inq = -1U; assignment
there.

Please pull!


- Series cleaning up file request flags handling (Christoph)

- Series cleaning up request freeing and CQ locking (Pavel)

- Support for using pre-registering the io_uring fd at setup time (Josh)

- Add support for user allocated ring memory, rather than having the
  kernel allocate it. Mostly for packing rings into a huge page (me)

- Series avoiding an unnecessary double retry on receive (me)

- Maintain ordering for task_work, which also improves performance (me)

- Misc cleanups/fixes (Pavel, me)

The following changes since commit f1fcbaa18b28dec10281551dfe6ed3a3ed80e3d6:

  Linux 6.4-rc2 (2023-05-14 12:51:40 -0700)

are available in the Git repository at:

  git://git.kernel.dk/linux.git tags/for-6.5/io_uring-2023-06-23

for you to fetch changes up to c98c81a4ac37b651be7eb9d16f562fc4acc5f867:

  io_uring: merge conditional unlock flush helpers (2023-06-23 08:19:40 -0600)

----------------------------------------------------------------
for-6.5/io_uring-2023-06-23

----------------------------------------------------------------
Christoph Hellwig (8):
      io_uring: remove __io_file_supports_nowait
      io_uring: remove the mode variable in io_file_get_flags
      io_uring: remove a confusing comment above io_file_get_flags
      io_uring: remove io_req_ffs_set
      io_uring: return REQ_F_ flags from io_file_get_flags
      io_uring: use io_file_from_index in __io_sync_cancel
      io_uring: use io_file_from_index in io_msg_grab_file
      io_uring: add helpers to decode the fixed file file_ptr

Jens Axboe (16):
      net: set FMODE_NOWAIT for sockets
      block: mark bdev files as FMODE_NOWAIT if underlying device supports it
      io_uring: rely solely on FMODE_NOWAIT
      io_uring: remove sq/cq_off memset
      io_uring: return error pointer from io_mem_alloc()
      io_uring: add ring freeing helper
      io_uring: support for user allocated memory for rings/sqes
      io_uring/net: initialize struct msghdr more sanely for io_recv()
      io_uring/net: initalize msghdr->msg_inq to known value
      io_uring/net: push IORING_CQE_F_SOCK_NONEMPTY into io_recv_finish()
      io_uring/net: don't retry recvmsg() unnecessarily
      io_uring: maintain ordering for DEFER_TASKRUN tw list
      io_uring: avoid indirect function calls for the hottest task_work
      io_uring: cleanup io_aux_cqe() API
      io_uring: get rid of unnecessary 'length' variable
      io_uring: wait interruptibly for request completions on exit

Josh Triplett (1):
      io_uring: Add io_uring_setup flag to pre-register ring fd and never install it

Pavel Begunkov (14):
      io_uring: annotate offset timeout races
      io_uring/cmd: add cmd lazy tw wake helper
      nvme: optimise io_uring passthrough completion
      io_uring: open code io_put_req_find_next
      io_uring: remove io_free_req_tw
      io_uring: inline io_dismantle_req()
      io_uring: move io_clean_op()
      io_uring: don't batch task put on reqs free
      io_uring: remove IOU_F_TWQ_FORCE_NORMAL
      io_uring: kill io_cq_unlock()
      io_uring: fix acquire/release annotations
      io_uring: inline __io_cq_unlock
      io_uring: make io_cq_unlock_post static
      io_uring: merge conditional unlock flush helpers

 block/fops.c                   |   5 +-
 drivers/nvme/host/ioctl.c      |   4 +-
 include/linux/io_uring.h       |  18 +-
 include/linux/io_uring_types.h |  10 +
 include/uapi/linux/io_uring.h  |  16 +-
 io_uring/cancel.c              |   5 +-
 io_uring/filetable.c           |  11 +-
 io_uring/filetable.h           |  28 ++-
 io_uring/io_uring.c            | 497 ++++++++++++++++++++++-------------------
 io_uring/io_uring.h            |  17 +-
 io_uring/msg_ring.c            |   4 +-
 io_uring/net.c                 |  58 ++---
 io_uring/poll.c                |   6 +-
 io_uring/poll.h                |   2 +
 io_uring/rsrc.c                |   8 +-
 io_uring/rw.c                  |   6 +-
 io_uring/rw.h                  |   1 +
 io_uring/tctx.c                |  31 ++-
 io_uring/timeout.c             |   6 +-
 io_uring/uring_cmd.c           |  16 +-
 net/socket.c                   |   1 +
 21 files changed, 416 insertions(+), 334 deletions(-)

-- 
Jens Axboe


^ permalink raw reply	[flat|nested] 5+ messages in thread
* Re: [GIT PULL] io_uring updates for 6.5
@ 2023-06-27  0:24 Sergey Senozhatsky
  0 siblings, 0 replies; 5+ messages in thread
From: Sergey Senozhatsky @ 2023-06-27  0:24 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: Minchan Kim, Andrew Morton, Jens Axboe, io-uring

On 6/26/23 1:40?PM, Linus Torvalds wrote:
>
> mm/zsmalloc.c:
>        set_freeobj(zspage, (unsigned int)(-1UL));

[..]

> both of which are impressively confused. There's sadly a number of
> other cases too.
>
> That zsmalloc.c case is impressively crazy. First you use the wrong
> type, then you use the wrong operation, and then you use a cast to fix
> it all up. Absolutely none of which makes any sense, and it should
> just have used "-1".

That zsmalloc code is gone, you should not see it after you pull
MM patches from Andrew.

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

end of thread, other threads:[~2023-06-27  0:24 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-06-26  2:39 [GIT PULL] io_uring updates for 6.5 Jens Axboe
2023-06-26 19:40 ` Linus Torvalds
2023-06-26 19:53   ` Jens Axboe
2023-06-26 20:02 ` pr-tracker-bot
2023-06-27  0:24 Sergey Senozhatsky

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