Thread (77 messages) 77 messages, 17 authors, 2024-11-22

Re: [PATCH 1/2] bcachefs: do not use PF_MEMALLOC_NORECLAIM

From: Michal Hocko <mhocko@suse.com>
Date: 2024-08-27 06:58:41
Also in: linux-bcachefs, linux-fsdevel, linux-mm, lkml

On Tue 27-08-24 02:40:16, Kent Overstreet wrote:
On Tue, Aug 27, 2024 at 08:01:32AM GMT, Michal Hocko wrote:
quoted
You are not really answering the main concern I have brought up though.
I.e. GFP_NOFAIL being fundamentally incompatible with NORECLAIM semantic
because the page allocator doesn't and will not support this allocation
mode.  Scoped noreclaim semantic makes such a use much less visible
because it can be deep in the scoped context there more error prone to
introduce thus making the code harder to maintain. 
You're too attached to GFP_NOFAIL.
Unfortunatelly GFP_NOFAIL is there and we need to support it. We cannot
just close eyes and pretend it doesn't exist and hope for the best.
GFP_NOFAIL is something we very rarely use, and it's not something we
want to use. Furthermore, GFP_NOFAIL allocations can fail regardless of
this patch - e.g. if it's more than 2 pages, it's not going to be
GFP_NOFAIL.
We can reasonably assume we do not have any of those users in the tree
though. We know that because we have a warning to tell us about that.
We still have legit GFP_NOFAIL users and we can safely assume we will
have some in the future though. And they have no way to handle the
failure. If they did they wouldn't have used GFP_NOFAIL in the first
place. So they do not check for NULL and they would either blow up or
worse fail in subtle and harder to detect way.
 
-- 
Michal Hocko
SUSE Labs
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help