• Juhee Kang's avatar
    net: hsr: use hlist_head instead of list_head for mac addresses · 4acc45db
    Juhee Kang authored
    Currently, HSR manages mac addresses of known HSR nodes by using list_head.
    It takes a lot of time when there are a lot of registered nodes due to
    finding specific mac address nodes by using linear search. We can be
    reducing the time by using hlist. Thus, this patch moves list_head to
    hlist_head for mac addresses and this allows for further improvement of
    network performance.
    
        Condition: registered 10,000 known HSR nodes
        Before:
        # iperf3 -c 192.168.10.1 -i 1 -t 10
        Connecting to host 192.168.10.1, port 5201
        [  5] local 192.168.10.2 port 59442 connected to 192.168.10.1 port 5201
        [ ID] Interval           Transfer     Bitrate         Retr  Cwnd
        [  5]   0.00-1.49   sec  3.75 MBytes  21.1 Mbits/sec    0    158 KBytes
        [  5]   1.49-2.05   sec  1.25 MBytes  18.7 Mbits/sec    0    166 KBytes
        [  5]   2.05-3.06   sec  2.44 MBytes  20.3 Mbits/sec   56   16.9 KBytes
        [  5]   3.06-4.08   sec  1.43 MBytes  11.7 Mbits/sec   11   38.0 KBytes
        [  5]   4.08-5.00   sec   951 KBytes  8.49 Mbits/sec    0   56.3 KBytes
    
        After:
        # iperf3 -c 192.168.10.1 -i 1 -t 10
        Connecting to host 192.168.10.1, port 5201
        [  5] local 192.168.10.2 port 36460 connected to 192.168.10.1 port 5201
        [ ID] Interval           Transfer     Bitrate         Retr  Cwnd
        [  5]   0.00-1.00   sec  7.39 MBytes  62.0 Mbits/sec    3    130 KBytes
        [  5]   1.00-2.00   sec  5.06 MBytes  42.4 Mbits/sec   16    113 KBytes
        [  5]   2.00-3.00   sec  8.58 MBytes  72.0 Mbits/sec   42   94.3 KBytes
        [  5]   3.00-4.00   sec  7.44 MBytes  62.4 Mbits/sec    2    131 KBytes
        [  5]   4.00-5.07   sec  8.13 MBytes  63.5 Mbits/sec   38   92.9 KBytes
    Signed-off-by: default avatarJuhee Kang <claudiajkang@gmail.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    4acc45db
hsr_forward.c 16.9 KB