• Adam Li's avatar
    net: make SK_MEMORY_PCPU_RESERV tunable · 12a686c2
    Adam Li authored
    This patch adds /proc/sys/net/core/mem_pcpu_rsv sysctl file,
    to make SK_MEMORY_PCPU_RESERV tunable.
    
    Commit 3cd3399d ("net: implement per-cpu reserves for
    memory_allocated") introduced per-cpu forward alloc cache:
    
    "Implement a per-cpu cache of +1/-1 MB, to reduce number
    of changes to sk->sk_prot->memory_allocated, which
    would otherwise be cause of false sharing."
    
    sk_prot->memory_allocated points to global atomic variable:
    atomic_long_t tcp_memory_allocated ____cacheline_aligned_in_smp;
    
    If increasing the per-cpu cache size from 1MB to e.g. 16MB,
    changes to sk->sk_prot->memory_allocated can be further reduced.
    Performance may be improved on system with many cores.
    Signed-off-by: default avatarAdam Li <adamli@os.amperecomputing.com>
    Reviewed-by: default avatarChristoph Lameter (Ampere) <cl@linux.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    12a686c2
sock.c 106 KB