From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S964805AbWAZS72 (ORCPT ); Thu, 26 Jan 2006 13:59:28 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S964803AbWAZS72 (ORCPT ); Thu, 26 Jan 2006 13:59:28 -0500 Received: from ns1.siteground.net ([207.218.208.2]:57482 "EHLO serv01.siteground.net") by vger.kernel.org with ESMTP id S964799AbWAZS70 (ORCPT ); Thu, 26 Jan 2006 13:59:26 -0500 Date: Thu, 26 Jan 2006 10:59:30 -0800 From: Ravikiran G Thirumalai To: Andrew Morton Cc: davem@davemloft.net, linux-kernel@vger.kernel.org, shai@scalex86.org, netdev@vger.kernel.org, pravins@calsoftinc.com Subject: [patch 1/4] net: Percpufy frequently used variables -- add percpu_counter_mod_bh Message-ID: <20060126185930.GC3651@localhost.localdomain> References: <20060126185649.GB3651@localhost.localdomain> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20060126185649.GB3651@localhost.localdomain> User-Agent: Mutt/1.4.2.1i X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - serv01.siteground.net X-AntiAbuse: Original Domain - vger.kernel.org X-AntiAbuse: Originator/Caller UID/GID - [0 0] / [47 12] X-AntiAbuse: Sender Address Domain - scalex86.org X-Source: X-Source-Args: X-Source-Dir: Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Add percpu_counter_mod_bh for using these counters safely from both softirq and process context. Signed-off by: Pravin B. Shelar Signed-off by: Ravikiran G Thirumalai Signed-off by: Shai Fultheim Index: linux-2.6.16-rc1/include/linux/percpu_counter.h =================================================================== --- linux-2.6.16-rc1.orig/include/linux/percpu_counter.h 2006-01-25 11:53:56.000000000 -0800 +++ linux-2.6.16-rc1/include/linux/percpu_counter.h 2006-01-25 12:09:41.000000000 -0800 @@ -11,6 +11,7 @@ #include #include #include +#include #ifdef CONFIG_SMP @@ -102,4 +103,11 @@ static inline void percpu_counter_dec(st percpu_counter_mod(fbc, -1); } +static inline void percpu_counter_mod_bh(struct percpu_counter *fbc, long amount) +{ + local_bh_disable(); + percpu_counter_mod(fbc, amount); + local_bh_enable(); +} + #endif /* _LINUX_PERCPU_COUNTER_H */