On Mon, Nov 07, 2022 at 11:05:42PM +0800, Qi Zheng wrote: > > > On 2022/11/7 20:42, Jason Gunthorpe wrote: > > On Mon, Nov 07, 2022 at 11:31:09AM +0800, Qi Zheng wrote: > > > > > @@ -31,9 +33,9 @@ bool __should_failslab(struct kmem_cache *s, gfp_t gfpflags) > > > return false; > > > if (gfpflags & __GFP_NOWARN) > > > - failslab.attr.no_warn = true; > > > + flags |= FAULT_NOWARN; > > > > You should add a comment here about why this is required, to avoid > > deadlocking printk > > I think this comment should be placed where __GFP_NOWARN is specified > instead of here. What do you think? :) NOWARN is clear what it does, it is this specifically that is very subtle about avoiding deadlock aginst allocations triggered by printk/etc code. Jason