From patchwork Mon Dec 29 02:52:47 2008 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Rusty Russell X-Patchwork-Id: 15854 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.176.167]) by ozlabs.org (Postfix) with ESMTP id 52856DDDFB for ; Mon, 29 Dec 2008 13:53:00 +1100 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751938AbYL2Cwz (ORCPT ); Sun, 28 Dec 2008 21:52:55 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1751498AbYL2Cwy (ORCPT ); Sun, 28 Dec 2008 21:52:54 -0500 Received: from ozlabs.org ([203.10.76.45]:43018 "EHLO ozlabs.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751280AbYL2Cwy (ORCPT ); Sun, 28 Dec 2008 21:52:54 -0500 Received: from vivaldi.localnet (unknown [150.101.102.135]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by ozlabs.org (Postfix) with ESMTPSA id 67A67DDD0C; Mon, 29 Dec 2008 13:52:50 +1100 (EST) From: Rusty Russell To: netdev@vger.kernel.org Subject: [PATCH] net: make xfrm_statistics_seq_show use generic snmp_fold_field Date: Mon, 29 Dec 2008 13:22:47 +1030 User-Agent: KMail/1.10.3 (Linux/2.6.27-9-generic; KDE/4.1.3; i686; ; ) Cc: Masahide NAKAMURA MIME-Version: 1.0 Content-Disposition: inline Message-Id: <200812291322.47467.rusty@rustcorp.com.au> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org No reason to roll our own here. Signed-off-by: Rusty Russell diff --git a/net/xfrm/xfrm_proc.c b/net/xfrm/xfrm_proc.c --- a/net/xfrm/xfrm_proc.c +++ b/net/xfrm/xfrm_proc.c @@ -44,27 +44,14 @@ static struct snmp_mib xfrm_mib_list[] = SNMP_MIB_SENTINEL }; -static unsigned long -fold_field(void *mib[], int offt) -{ - unsigned long res = 0; - int i; - - for_each_possible_cpu(i) { - res += *(((unsigned long *)per_cpu_ptr(mib[0], i)) + offt); - res += *(((unsigned long *)per_cpu_ptr(mib[1], i)) + offt); - } - return res; -} - static int xfrm_statistics_seq_show(struct seq_file *seq, void *v) { struct net *net = seq->private; int i; for (i=0; xfrm_mib_list[i].name; i++) seq_printf(seq, "%-24s\t%lu\n", xfrm_mib_list[i].name, - fold_field((void **)net->mib.xfrm_statistics, - xfrm_mib_list[i].entry)); + snmp_fold_field((void **)net->mib.xfrm_statistics, + xfrm_mib_list[i].entry)); return 0; }