• Martin KaFai Lau's avatar
    net: selftests: Stress reuseport listen · ec8cb4f6
    Martin KaFai Lau authored
    This patch adds a test that has 300 VIPs listening on port 443.
    Each VIP:443 will have 80 listening socks by using SO_REUSEPORT.
    Thus, it will have 24000 listening socks.
    
    Before removing the port only listening_hash, all socks will be in the
    same port 443 bucket and inet_reuseport_add_sock() spends much time to
    walk through the bucket.  After removing the port only listening_hash
    and move all usage to the port+addr lhash2, each bucket in the
    ideal case has 80 sk which is much smaller than before.
    
    Here is the test result from a qemu:
    Before: listen 24000 socks took 210.210485362 (~210s)
     After: listen 24000 socks took 0.207173      (~210ms)
    Signed-off-by: default avatarMartin KaFai Lau <kafai@fb.com>
    Reviewed-by: default avatarEric Dumazet <edumazet@google.com>
    Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
    ec8cb4f6
Makefile 2.81 KB