From: Benjamin LaHaise <bcrl@kvack.org>
To: Eric Dumazet <dada1@cosmosbay.com>
Cc: Andrew Morton <akpm@osdl.org>,
kiran@scalex86.org, davem@davemloft.net,
linux-kernel@vger.kernel.org, shai@scalex86.org,
netdev@vger.kernel.org, pravins@calsoftinc.com
Subject: Re: [patch 3/4] net: Percpufy frequently used variables -- proto.sockets_allocated
Date: Sun, 29 Jan 2006 14:52:42 -0500 [thread overview]
Message-ID: <20060129195242.GC28400@kvack.org> (raw)
In-Reply-To: <43DC6691.9000001@cosmosbay.com>
On Sun, Jan 29, 2006 at 07:54:09AM +0100, Eric Dumazet wrote:
> Well, I think that might be doable, maybe RCU magic ?
>
> 1) local_t are not that nice on all archs.
It is for the users that matter, and the hooks are there if someone finds
it to be a performance problem.
> 2) The consolidation phase (summing all the cpus local offset to
> consolidate the central counter) might be more difficult to do (we would
> need kind of 2 counters per cpu, and a index that can be changed by the cpu
> that wants a consolidation (still 'expensive'))
For the vast majority of these sorts of statistics counters, we don't
need 100% accurate counts. And I think it should be possible to choose
between a lightweight implementation and the expensive implementation.
On a chip like the Core Duo the cost of bouncing between the two cores
is minimal, so all the extra code and data is a waste.
> 3) Are the locked ops so expensive if done on a cache line that is mostly
> in exclusive state in cpu cache ?
Yes. What happens on the P4 is that it forces outstanding memory
transactions in the reorder buffer to be flushed so that the memory barrier
semantics of the lock prefix are observed. This can take a long time as
there can be over a hundred instructions in flight.
-ben
--
"Ladies and gentlemen, I'm sorry to interrupt, but the police are here
and they've asked us to stop the party." Don't Email: <dont@kvack.org>.
next prev parent reply other threads:[~2006-01-29 19:57 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-01-26 18:56 [patch 0/4] net: Percpufy frequently used variables on struct proto Ravikiran G Thirumalai
2006-01-26 18:59 ` [patch 1/4] net: Percpufy frequently used variables -- add percpu_counter_mod_bh Ravikiran G Thirumalai
2006-01-26 19:02 ` [patch 2/4] net: Percpufy frequently used variables -- struct proto.memory_allocated Ravikiran G Thirumalai
2006-01-27 9:01 ` Eric Dumazet
2006-01-26 19:03 ` [patch 3/4] net: Percpufy frequently used variables -- proto.sockets_allocated Ravikiran G Thirumalai
2006-01-27 8:53 ` Eric Dumazet
2006-01-27 19:52 ` Ravikiran G Thirumalai
2006-01-27 20:16 ` Andrew Morton
2006-01-27 22:30 ` Eric Dumazet
2006-01-27 22:50 ` Ravikiran G Thirumalai
2006-01-27 23:21 ` Eric Dumazet
2006-01-28 0:40 ` Ravikiran G Thirumalai
2006-01-27 22:44 ` Ravikiran G Thirumalai
2006-01-27 22:58 ` Eric Dumazet
2006-01-27 23:16 ` Andrew Morton
2006-01-28 0:28 ` Eric Dumazet
2006-01-28 0:35 ` Eric Dumazet
2006-01-28 4:52 ` Ravikiran G Thirumalai
2006-01-28 7:19 ` Eric Dumazet
2006-01-28 0:43 ` Andrew Morton
2006-01-28 1:10 ` Eric Dumazet
2006-01-28 1:18 ` Andrew Morton
2006-01-29 0:44 ` Benjamin LaHaise
2006-01-29 0:55 ` Andrew Morton
2006-01-29 1:19 ` Benjamin LaHaise
2006-01-29 1:29 ` Andrew Morton
2006-01-29 1:45 ` Kyle McMartin
2006-01-29 5:38 ` Andi Kleen
2006-01-29 6:54 ` Eric Dumazet
2006-01-29 19:52 ` Benjamin LaHaise [this message]
2006-01-27 23:01 ` Andrew Morton
2006-01-27 23:08 ` Andrew Morton
2006-01-28 0:01 ` Ravikiran G Thirumalai
2006-01-28 0:26 ` Andrew Morton
2006-02-03 3:05 ` Ravikiran G Thirumalai
2006-02-03 3:16 ` Andrew Morton
2006-02-03 19:37 ` Ravikiran G Thirumalai
2006-02-03 20:13 ` Andrew Morton
2006-01-26 19:05 ` [patch 4/4] net: Percpufy frequently used variables -- proto.inuse Ravikiran G Thirumalai
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=20060129195242.GC28400@kvack.org \
--to=bcrl@kvack.org \
--cc=akpm@osdl.org \
--cc=dada1@cosmosbay.com \
--cc=davem@davemloft.net \
--cc=kiran@scalex86.org \
--cc=linux-kernel@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=pravins@calsoftinc.com \
--cc=shai@scalex86.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).