Thread (7 messages) 7 messages, 3 authors, 2024-01-26

Re: [PATCH, RFC] block: set noio context in submit_bio_noacct_nocheck

From: Jens Axboe <axboe@kernel.dk>
Date: 2024-01-25 16:09:45
Also in: linux-mm, lkml

On 1/25/24 1:10 AM, Christoph Hellwig wrote:
On Wed, Jan 24, 2024 at 08:40:28AM -0700, Jens Axboe wrote:
quoted
On 1/24/24 2:39 AM, Christoph Hellwig wrote:
quoted
Make sure all in-line block layer submission runs in noio reclaim
context.  This is a big step towards allowing GFP_NOIO, the other
one would be to have noio (and nofs for that matter) workqueues for
kblockd and driver internal workqueues.
I really don't like adding this for no good reason. Who's doing non NOIO
allocations down from this path?
If there is a non-NOIO allocation right now that would be a bug,
although I would not be surprised if we had a few of them.

The reason to add this is a different one:  The MM folks want to
get rid of GFP_NOIO and GFP_NOFS and replace them by these context.

And doing this in the submission path and kblockd will cover almost
all of the noio context, with the rest probably covered by other
workqueues.  And this feels a lot less error prone than requiring
every driver to annotate the context in their submission routines.
I think it'd be much better to add a DEBUG protected aid that checks for
violating allocations. Nothing that isn't buggy should trigger this,
right now, and then we could catch problems if there are any. If we do
the save/restore there and call it good, then we're going to be stuck
with that forever. Regardless of whether it's actually needed or not.

-- 
Jens Axboe
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help