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
| |