Re: eth_type_trans(): Re: [Bug #11308] tbench regression on eachkernel release from 2.6.22 -> 2.6.28

From: Ingo Molnar
Date: Tue Nov 18 2008 - 03:30:54 EST



* David Miller <davem@xxxxxxxxxxxxx> wrote:

> From: Ingo Molnar <mingo@xxxxxxx>
> 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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/