On 2022/11/8 00:26, Jason Gunthorpe wrote:
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.
Oh, maybe I understand your concern. Some people may think that this
is just a print of fault injection information, not a warning. I'll
add a comment explaining why in some cases there must be no printing.
Thanks,
Qi
Jason
--
Thanks,
Qi