mptcp: use batch snmp operations in mptcp_seq_show()
authorEric Dumazet <edumazet@google.com>
Thu, 30 Sep 2021 01:03:33 +0000 (18:03 -0700)
committerDavid S. Miller <davem@davemloft.net>
Thu, 30 Sep 2021 13:17:10 +0000 (14:17 +0100)
commitacbd0c8144138b6e652240bba248910d330d71bf
treec8834059bb0c4d98bf6446de0c7d2b8b59d377f6
parent59f09ae8fac4a990070fc6bdc889d0e0118664ea
mptcp: use batch snmp operations in mptcp_seq_show()

Using snmp_get_cpu_field_batch() allows for better cpu cache
utilization, especially on hosts with large number of cpus.

Also remove special handling when mptcp mibs where not yet
allocated.

I chose to use temporary storage on the stack to keep this patch simple.
We might in the future use the storage allocated in netstat_seq_show().

Combined with prior patch (inlining snmp_get_cpu_field)
time to fetch and output mptcp counters on a 256 cpu host [1]
goes from 75 usec to 16 usec.

[1] L1 cache size is 32KB, it is not big enough to hold all dataset.

Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/mptcp/mib.c