On 4/11/24 6:51 PM, Christoph Lameter (Ampere) wrote: > On Thu, 11 Apr 2024, Haifeng Xu wrote: > >> @@ -1875,6 +1875,13 @@ static inline struct slab *alloc_slab_page(gfp_t flags, int node, >> struct slab *slab; >> unsigned int order = oo_order(oo); >> >> + /* >> + * If fallback to the minimum order allocation and the order is 0, >> + * clear the __GFP_COMP flag. >> + */ >> + if (order == 0) >> + flags = flags & ~__GFP_COMP; > > > This would be better placed in allocate_slab() when the need for a > fallback to a lower order is detected after the first call to alloc_slab_page(). Yeah. Although I don't really see the harm of __GFP_COMP with order-0 in the first place, if the only issue is that the error output might be confusing. I'd also hope we should eventually get rid of those odd non-__GFP_COMP high-order allocations and then can remove the flag.