From: David Miller <davem@davemloft.net>
To: eric.dumazet@gmail.com
Cc: linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org,
cl@linux-foundation.org, netdev@vger.kernel.org,
netfilter-devel@vger.kernel.org
Subject: Re: Poll about irqsafe_cpu_add and others
Date: Thu, 17 Mar 2011 08:14:20 -0700 (PDT) [thread overview]
Message-ID: <20110317.081420.71114992.davem@davemloft.net> (raw)
In-Reply-To: <1300371834.6315.93.camel@edumazet-laptop>
From: Eric Dumazet <eric.dumazet@gmail.com>
Date: Thu, 17 Mar 2011 15:23:54 +0100
> Hi
>
> irqsafe_cpu_{dec|inc} are used in network stack since 2.6.37 (commit
> 29b4433d991c88), and I would like to use irqsafe_cpu_add() in netfilter
> fast path too, and SNMP counters eventually (to lower ram needs by 50%)
>
> Initial support of irqsafe_ was given by Christoph in 2.6.34
>
> It seems only x86 arch is using a native and efficient implementation.
>
> Others use irqsafe_cpu_generic_to_op() and its pair of
> local_irq_save() / local_irq_restore()
>
> Which other arches could use a native implementation ?
>
> What about defining a HAVE_FAST_IRQSAFE_ADD ?
I had been meaning to bring this up from another perspective.
In networking, we often only ever access objects in base or
BH context. Therefore in BH context cases we can do just
normal counter bumps without any of the special atomic or
IRQ disabling code at all.
This would help non-x86 architectures a lot, and depending upon
how the non-atomic case performs perhaps x86 too.
next prev parent reply other threads:[~2011-03-17 15:14 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-03-17 14:23 Poll about irqsafe_cpu_add and others Eric Dumazet
2011-03-17 14:40 ` Christoph Lameter
2011-03-17 15:14 ` David Miller [this message]
2011-03-17 15:18 ` Christoph Lameter
2011-03-17 16:53 ` Eric Dumazet
2011-03-17 17:46 ` Christoph Lameter
2011-03-17 18:29 ` Eric Dumazet
2011-03-17 18:42 ` Christoph Lameter
2011-03-17 18:55 ` Eric Dumazet
2011-03-17 19:21 ` Christoph Lameter
2011-03-18 6:56 ` Benjamin Herrenschmidt
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20110317.081420.71114992.davem@davemloft.net \
--to=davem@davemloft.net \
--cc=cl@linux-foundation.org \
--cc=eric.dumazet@gmail.com \
--cc=linux-arch@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=netfilter-devel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).