Re: [RFC 1/1] io_uring: use valid mm in io_req_work_grab_env() in SQPOLL mode

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

 



On 6/20/2020 7:22 AM, Jens Axboe wrote:
On 6/20/20 3:59 AM, Pavel Begunkov wrote:
On 20/06/2020 02:57, Bijan Mottahedeh wrote:
If current->mm is not set in SQPOLL mode, then use ctx->sqo_mm;
otherwise fail thre request.

io_sq_thread_acquire_mm() called from io_async_buf_retry() should've
guaranteed presence of current->mm. Though, the problem could be in
"io_op_defs[req->opcode].needs_mm" check there, which is done only
for the first request in a link.

Right, Bijan are you sure this isn't fixed by one of the fixes that
went upstream yesterday:

commit 9d8426a09195e2dcf2aa249de2aaadd792d491c7
Author: Jens Axboe <axboe@xxxxxxxxx>
Date:   Tue Jun 16 18:42:49 2020 -0600

     io_uring: acquire 'mm' for task_work for SQPOLL


I was running next-20200618.

Both 0618 and 0620 contain

io_uring: acquire 'mm' for task_work for SQPOLL


The commit

io_uring: support true async buffered reads, if file provides it

however is different in 0618 and 0620, the 0618 version is missing the call

if (!io_sq_thread_acquire_mm(ctx, req)) {

in io_async_buf_retry().

https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/fs/io_uring.c?h=next-20200618&id=a3bb0c190b85781d7857b7a55cb9cefded5f527b
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/fs/io_uring.c?h=next-20200622&id=3ad1d68c04bf9555942b63b5aba31e446fdcf355

I pulled the 0622 and the read-write test runs fine.

--bijan



[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