• Steffen Klassert's avatar
    xfrm: Let the flowcache handle its size by default. · c386578f
    Steffen Klassert authored
    The xfrm flowcache size is limited by the flowcache limit
    (4096 * number of online cpus) and the xfrm garbage collector
    threshold (2 * 32768), whatever is reached first. This means
    that we can hit the garbage collector limit only on systems
    with more than 16 cpus. On such systems we simply refuse
    new allocations if we reach the limit, so new flows are dropped.
    On syslems with 16 or less cpus, we hit the flowcache limit.
    In this case, we shrink the flow cache instead of refusing new
    flows.
    
    We increase the xfrm garbage collector threshold to INT_MAX
    to get the same behaviour, independent of the number of cpus.
    
    The xfrm garbage collector threshold can still be set below
    the flowcache limit to reduce the memory usage of the flowcache.
    Tested-by: default avatarDan Streetman <dan.streetman@canonical.com>
    Signed-off-by: default avatarSteffen Klassert <steffen.klassert@secunet.com>
    c386578f
xfrm4_policy.c 7.53 KB