On 02/13/2018 07:52 PM, Alexey Kuznetsov wrote: > Hello! > > BTW, check this a few lines above: > > gfp_head = gfp_mask; > if (gfp_head & __GFP_WAIT) > gfp_head |= __GFP_REPEAT; > > What is this?? >
Can't tell you why this was added and what purpose does it server, but... __GFP_REPEAT mostly have effect only on costly order allocations (order >= 4) It means retry allocation attempts until reclaimer makes any progress (for non costly order (<= 3) allocator retries anyway, see should_alloc_retry()). gfp_head used only in alloc_skb(), so this basically means try harder to allocate large (> 32K) skbs. Also 'if (gfp_head & __GFP_WAIT)' line is redundant, because __GFP_REPEAT don't have any effect on !__GFP_WAIT allocations. _______________________________________________ Devel mailing list Devel@openvz.org https://lists.openvz.org/mailman/listinfo/devel