lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Mon, 26 Sep 2016 16:09:12 +0800 From: Jia He <hejianet@...il.com> To: netdev@...r.kernel.org Cc: linux-sctp@...r.kernel.org, linux-kernel@...r.kernel.org, davem@...emloft.net, Alexey Kuznetsov <kuznet@....inr.ac.ru>, James Morris <jmorris@...ei.org>, Hideaki YOSHIFUJI <yoshfuji@...ux-ipv6.org>, Patrick McHardy <kaber@...sh.net>, Vlad Yasevich <vyasevich@...il.com>, Neil Horman <nhorman@...driver.com>, Steffen Klassert <steffen.klassert@...unet.com>, Herbert Xu <herbert@...dor.apana.org.au>, marcelo.leitner@...il.com, Jia He <hejianet@...il.com> Subject: [PATCH v4 4/7] proc: Reduce cache miss in sctp_snmp_seq_show This is to use the generic interface snmp_get_cpu_field{,64}_batch to aggregate the data by going through all the items of each cpu sequentially. Signed-off-by: Jia He <hejianet@...il.com> --- net/sctp/proc.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/net/sctp/proc.c b/net/sctp/proc.c index ef8ba77..0487c01 100644 --- a/net/sctp/proc.c +++ b/net/sctp/proc.c @@ -75,11 +75,15 @@ static int sctp_snmp_seq_show(struct seq_file *seq, void *v) { struct net *net = seq->private; int i; + unsigned long buff[SCTP_MIB_MAX]; + memset(buff, 0, sizeof(unsigned long) * SCTP_MIB_MAX); + + snmp_get_cpu_field_batch(buff, sctp_snmp_list, + net->sctp.sctp_statistics); for (i = 0; sctp_snmp_list[i].name != NULL; i++) seq_printf(seq, "%-32s\t%ld\n", sctp_snmp_list[i].name, - snmp_fold_field(net->sctp.sctp_statistics, - sctp_snmp_list[i].entry)); + buff[i]); return 0; } -- 2.5.5
Powered by blists - more mailing lists