netdev
[Top] [All Lists]

Re: [RFC] Use RCU for tcp_ehash lookup

To: vatsa@xxxxxxxxxx
Subject: Re: [RFC] Use RCU for tcp_ehash lookup
From: "David S. Miller" <davem@xxxxxxxxxxxxx>
Date: Wed, 1 Sep 2004 22:45:46 -0700
Cc: ak@xxxxxxx, davem@xxxxxxxxxx, netdev@xxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx, dipankar@xxxxxxxxxx, paulmck@xxxxxxxxxx
In-reply-to: <20040901113641.GA3918@xxxxxxxxxx>
Organization: DaveM Loft Enterprises
References: <20040831125941.GA5534@xxxxxxxxxx> <20040831135419.GA17642@xxxxxxxxxxxxx> <20040901113641.GA3918@xxxxxxxxxx>
Sender: netdev-bounce@xxxxxxxxxxx
On Wed, 1 Sep 2004 17:06:41 +0530
Srivatsa Vaddagiri <vatsa@xxxxxxxxxx> wrote:

> On Tue, Aug 31, 2004 at 03:54:20PM +0200, Andi Kleen wrote:
> > I bet also when you just do rdtsc timing for the TCP receive
> > path the cycle numbers will be way down (excluding the copy).
> 
> I got cycle numbers for the lookup routine (with CONFIG_PREEMPT turned off).
> They were taken on a 900MHz 8way Intel P3 SMP box.  The results are as below:
> 
> 
> -------------------------------------------------------------------------------
>                            |  2.6.8.1               | 2.6.8.1 + my patch
> -------------------------------------------------------------------------------
> Average cycles                     |                        |
> spent in                   |                        |
> __tcp_v4_lookup_established  |        2970.65               | 668.227
>                            | (~3.3 micro-seconds)   | (~0.74 microseconds)
> -------------------------------------------------------------------------------
> 
> This repesents improvement by a factor of 77.5%!

And yet none of your benchmarks show noticable
improvements, which means that this micro-measurement
is totally unimportant in the grand scheme of things
as far as we know.

I'm not adding in a patch that merely provides some
micro-measurement improvement that someone can do a
shamans dance over. :)  If we're going to add this
new level of complexity to the TCP code we need to
see some real usage performance improvement, not just
something that shows up when we put a microscope on
a single function.

<Prev in Thread] Current Thread [Next in Thread>