Messages in this thread |  | | | Date | Tue, 18 Nov 2008 09:30:18 +0100 | | From | Ingo Molnar <> | | Subject | Re: eth_type_trans(): Re: [Bug #11308] tbench regression on each kernel release from 2.6.22 -> 2.6.28 | |
* David Miller <davem@davemloft.net> wrote:
> From: Ingo Molnar <mingo@elte.hu>
> Date: Mon, 17 Nov 2008 22:26:57 +0100
>
> > eth->h_proto access.
>
> Yes, this is the first time a packet is touched on receive.
>
> > Given that this workload does localhost networking, my guess would be
> > that eth->h_proto is bouncing around between 16 CPUs? At minimum this
> > read-mostly field should be separated from the bouncing bits.
>
> It's the packet contents, there is no way to "seperate it".
>
> And it should be unlikely bouncing on your system under tbench, the
> senders and receivers should hang out on the same cpu unless the
> something completely stupid is happening.
>
> That's why I like running tbench with a num_threads command line
> argument equal to the number of cpus, every cpu gets the two thread
> talking to eachother over the TCP socket.
yeah - and i posted the numbers for that too - it's the same
throughput, within ~1% of noise.
Ingo
|  |