[GIT PULL] Followup io_uring fixes for 5.15-rc1

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Linus,

As it sometimes happens, a two reporst came in around the merge window
open that led to some fixes. Hence this one is a bit bigger than usual
followup fixes, but most of it will be going towards stable, outside of
the fixes that are addressing regressions from this merge window. In
detail:

- postgres is a heavy user of signals between tasks, and if we're
  unlucky this can interfere with io-wq worker creation. Make sure we're
  resilient against unrelated signal handling. This set of changes also
  includes hardening against allocation failures, which could previously
  had led to stalls.

- Some use cases that end up having a mix of bounded and unbounded work
  would have starvation issues related to that. Split the pending work
  lists to handle that better.

- Completion trace int -> unsigned -> long fix

- Fix issue with REGISTER_IOWQ_MAX_WORKERS and SQPOLL

- Fix regression with hash wait lock in this merge window

- Fix retry issued on block devices (Ming)

- Fix regression with links in this merge window (Pavel)

- Fix race with multi-shot poll and completions (Xiaoguang)

- Ensure regular file IO doesn't inadvertently skip completion batching
  (Pavel)

- Ensure submissions are flushed after running task_work (Pavel)

Please pull!


The following changes since commit 87df7fb922d18e96992aa5e824aa34b2065fef59:

  io-wq: fix wakeup race when adding new work (2021-08-30 07:45:47 -0600)

are available in the Git repository at:

  git://git.kernel.dk/linux-block.git tags/for-5.15/io_uring-2021-09-04

for you to fetch changes up to 2fc2a7a62eb58650e71b4550cf6fa6cc0a75b2d2:

  io_uring: io_uring_complete() trace should take an integer (2021-09-03 16:59:06 -0600)

----------------------------------------------------------------
for-5.15/io_uring-2021-09-04

----------------------------------------------------------------
Jens Axboe (10):
      io-wq: fix race between adding work and activating a free worker
      io_uring: IORING_OP_WRITE needs hash_reg_file set
      io-wq: ensure that hash wait lock is IRQ disabling
      io-wq: fix queue stalling race
      io-wq: split bounded and unbounded work into separate lists
      io-wq: only exit on fatal signals
      io-wq: get rid of FIXED worker flag
      io-wq: make worker creation resilient against signals
      io_uring: ensure IORING_REGISTER_IOWQ_MAX_WORKERS works with SQPOLL
      io_uring: io_uring_complete() trace should take an integer

Ming Lei (1):
      io_uring: retry in case of short read on block device

Pavel Begunkov (4):
      io_uring: fix queueing half-created requests
      io_uring: don't submit half-prepared drain request
      io_uring: don't disable kiocb_done() CQE batching
      io_uring: prolong tctx_task_work() with flushing

Xiaoguang Wang (1):
      io_uring: fix possible poll event lost in multi shot mode

 fs/io-wq.c                      | 424 ++++++++++++++++++++++++----------------
 fs/io_uring.c                   |  76 ++++++-
 include/trace/events/io_uring.h |   6 +-
 3 files changed, 323 insertions(+), 183 deletions(-)

-- 
Jens Axboe




[Index of Archives]     [Linux Samsung SoC]     [Linux Rockchip SoC]     [Linux Actions SoC]     [Linux for Synopsys ARC Processors]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]


  Powered by Linux