[Devel] [PATCH rh7] ms/net: don't wait for order-3 page allocation

Andrey Ryabinin aryabinin at virtuozzo.com
Wed Feb 14 13:11:03 MSK 2018



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.



More information about the Devel mailing list