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().