linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Herbert Xu <herbert@gondor.apana.org.au>
To: Ingo Molnar <mingo@elte.hu>
Cc: Alexey Kuznetsov <kuznet@ms2.inr.ac.ru>,
	Wang Chen <wangchen@cn.fujitsu.com>,
	Gerrit Renker <gerrit@erg.abdn.ac.uk>,
	davem@davemloft.net, andi@firstfloor.org, netdev@vger.kernel.org,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Christoph Lameter <clameter@sgi.com>
Subject: Re: [PATCH 3/3] [UDP6]: Counter increment on BH mode
Date: Sun, 16 Dec 2007 10:36:21 +0800	[thread overview]
Message-ID: <20071216023621.GB959@gondor.apana.org.au> (raw)
In-Reply-To: <20071215184327.GA21434@elte.hu>

On Sat, Dec 15, 2007 at 07:43:28PM +0100, Ingo Molnar wrote:
>
> we could perhaps introduce stat_smp_processor_id(), which signals that 
> the CPU id is used for statistical purposes and does not have to be 
> exact? In any case, your patch looks good too.

Unfortunately that doesn't work because we can then have two
CPUs trying to update the same counter which may corrupt it.

However, an optimisation is indeed possible with some work.
If we can get the address of the per-cpu counter against
some sort of a per-cpu base pointer, e.g., %gs on x86, then
we can do

	incq	%gs:(%rax)

where %rax would be the offset with %gs as the base.  This would
obviate the need for the CPU ID and therefore avoid disabling
preemption.

Hmm, wasn't Christoph working on something like that?

Cheers,
-- 
Visit Openswan at http://www.openswan.org/
Email: Herbert Xu ~{PmV>HI~} <herbert@gondor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt

  reply	other threads:[~2007-12-16  2:37 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <474F7EE8.2040009@cn.fujitsu.com>
     [not found] ` <474F8255.5060501@cn.fujitsu.com>
     [not found]   ` <20071130111949.GB28277@gerrit.erg.abdn.ac.uk>
     [not found]     ` <20071201015438.GC26895@gondor.apana.org.au>
     [not found]       ` <4753AE07.1040906@cn.fujitsu.com>
     [not found]         ` <20071203113935.GA25124@gondor.apana.org.au>
     [not found]           ` <20071203114912.GA4425@ms2.inr.ac.ru>
2007-12-03 11:54             ` [PATCH 3/3] [UDP6]: Counter increment on BH mode Herbert Xu
2007-12-03 13:17               ` Herbert Xu
2007-12-04  3:50                 ` Wang Chen
2007-12-04  3:57                   ` Herbert Xu
2007-12-15 13:58                 ` Herbert Xu
2007-12-15 17:03                   ` Eric Dumazet
2007-12-16  2:30                     ` [SNMP]: Fix SNMP counters with PREEMPT Herbert Xu
2007-12-20 12:13                       ` David Miller
2007-12-15 18:43                   ` [PATCH 3/3] [UDP6]: Counter increment on BH mode Ingo Molnar
2007-12-16  2:36                     ` Herbert Xu [this message]
2007-12-16  8:58                       ` Ingo Molnar
2007-12-17 19:42                       ` Christoph Lameter
2007-12-17 19:40                     ` Christoph Lameter
2007-12-20 12:12                   ` David Miller

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=20071216023621.GB959@gondor.apana.org.au \
    --to=herbert@gondor.apana.org.au \
    --cc=andi@firstfloor.org \
    --cc=clameter@sgi.com \
    --cc=davem@davemloft.net \
    --cc=gerrit@erg.abdn.ac.uk \
    --cc=kuznet@ms2.inr.ac.ru \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=netdev@vger.kernel.org \
    --cc=wangchen@cn.fujitsu.com \
    /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).