From mboxrd@z Thu Jan 1 00:00:00 1970 From: Patrick McHardy Subject: Re: [PATCH 2/2] netfilter: get rid of atomic ops in fast path Date: Sun, 20 Mar 2011 15:41:32 +0100 Message-ID: <4D86121C.7050503@trash.net> References: <1300468038.2888.160.camel@edumazet-laptop> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Cc: David Miller , Netfilter Development Mailinglist , netdev , Jan Engelhardt To: Eric Dumazet Return-path: Received: from stinky.trash.net ([213.144.137.162]:44666 "EHLO stinky.trash.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751658Ab1CTOle (ORCPT ); Sun, 20 Mar 2011 10:41:34 -0400 In-Reply-To: <1300468038.2888.160.camel@edumazet-laptop> Sender: netfilter-devel-owner@vger.kernel.org List-ID: Am 18.03.2011 18:07, schrieb Eric Dumazet: > We currently use a percpu spinlock to 'protect' rule bytes/packets > counters, after various attempts to use RCU instead. > > Lately we added a seqlock so that get_counters() can run without > blocking BH or 'writers'. But we really use the seqcount in it. > > Spinlock itself is only locked by the current/owner cpu, so we can > remove it completely. > > This cleanups api, using correct 'writer' vs 'reader' semantic. > > At replace time, the get_counters() call makes sure all cpus are done > using the old table. I think this will have to wait until net-next opens up again since its not a bugfix.