[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <ac36babd-3eb7-8f91-7ba1-e722def24b67@kernel.dk>
Date: Wed, 1 Jul 2020 22:30:24 -0600
From: Jens Axboe <axboe@...nel.dk>
To: Linus Torvalds <torvalds@...ux-foundation.org>
Cc: "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
io-uring <io-uring@...r.kernel.org>
Subject: [GIT PULL] io_uring fixes for 5.8-rc4
Hi Linus,
One fix in here, for a regression in 5.7 where a task is waiting in the
kernel for a condition, but that condition won't become true until
task_work is run. The task_work can't be run exactly because the task is
waiting in the kernel, so we'll never make any progress. One example of
that is registering an eventfd and queueing io_uring work, and then the
task goes and waits in eventfd read with the expectation that it'll get
woken (and read an event) when the io_uring request completes. The
io_uring request is finished through task_work, which won't get run
while the task is looping in eventfd read.
Please pull!
The following changes since commit d60b5fbc1ce8210759b568da49d149b868e7c6d3:
io_uring: fix current->mm NULL dereference on exit (2020-06-25 07:20:43 -0600)
are available in the Git repository at:
git://git.kernel.dk/linux-block.git tags/io_uring-5.8-2020-07-01
for you to fetch changes up to ce593a6c480a22acba08795be313c0c6d49dd35d:
io_uring: use signal based task_work running (2020-06-30 12:39:05 -0600)
----------------------------------------------------------------
io_uring-5.8-2020-07-01
----------------------------------------------------------------
Jens Axboe (1):
io_uring: use signal based task_work running
Oleg Nesterov (1):
task_work: teach task_work_add() to do signal_wake_up()
fs/io_uring.c | 32 ++++++++++++++++++++++++--------
include/linux/sched/jobctl.h | 4 +++-
include/linux/task_work.h | 5 ++++-
kernel/signal.c | 10 +++++++---
kernel/task_work.c | 16 ++++++++++++++--
5 files changed, 52 insertions(+), 15 deletions(-)
--
Jens Axboe
Powered by blists - more mailing lists