rps perfomance WAS(Re: rps: question

Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
From: jamal
Date: Wednesday, April 14, 2010 - 4:53 am

Following up like promised:

On Mon, 2010-02-08 at 10:09 -0500, jamal wrote:

I did step #0 last night on an i7 (single Nehalem). I think more than
anything i was impressed by the Nehalem's excellent caching system.
Robert, I am almost tempted to say skb recycling performance will be
excellent on this  machine given the cost of a cache miss is much lower
than previous generation hardware.

My test was simple: irq affinity on cpu0(core0) and rps redirection to
cpu1(core 1); tried also to redirect to different SMT threads (aka CPUs)
on different cores with similar results. I base tested against no rps
being used and a kernel which didnt have any RPS config on.
[BTW, I had to hand-edit the .config since i couldnt do it from
menuconfig (Is there any reason for it to be so?)]

Traffic was sent from another machine into the i7 via an el-cheapo sky2
(dont know how shitty this NIC is, but it seems to know how to do MSI so
probably capable of multiqueueing); the test was several sets of 
a ping first and then a ping -f (I will get more sophisticated in my
next test likely this weekend).

Results:
CPU utilization was about 20-30% higher in the case of rps. On cpu0, the
cpu was being chewed highly by sky2_poll and on the redirected-to-core
it was always smp_call_function_single.
Latency was (consistently) on average 5 microseconds. 
So if i sent 1M ping -f packets, without RPS it took on average
176 seconds and with RPS it took 181 seconds to do a round-trip.
Throughput didnt change but this could be attributed to the low amounts
of data i was sending.
I observed that we were generating, on average, an IPI per packet even
with ping -f. (added an extra stat to record when we sent an IPI and
counted against the number of packets sent).
In my opinion it is these IPIs that contribute the most to the latency
and i think it happens that the Nehalem is just highly improved in this 
area. I wish i had a more commonly used machine to test rps on.
I expect that rps will perform worse on currently cheaper/older hardware
for the traffic characteristic i tested.

On IPIs:
Is anyone familiar with what is going on with Nehalem? Why is it this
good? I expect things will get a lot nastier with other hardware like
xeon based or even Nehalem with rps going across QPI.
Here's why i think IPIs are bad, please correct me if i am wrong:
- they are synchronous. i.e an IPI issuer has to wait for an ACK (which
is in the form of an IPI).
- data cache has to be synced to main memory
- the instruction pipeline is flushed
- what else did i miss? Andi?

So my question to Tom, Eric and Changli or anyone else who has been
running RPS:
What hardware did you use? Is there anyone using older hardware than
say AMD Opteron or Intel Nehalem?

My impressions of rps so far:
I think i may end up being impressed when i generate a lot more traffic
since the cost of IPI will be amortized. 
At this point multiqueue seems a lot more impressive alternative and it
seems to me multiqueu hardware is a lot more commodity (price-point)
than a Nehalem.

Plan:
I plan to still attack the app space (and write a basic udp app that
binds to one or more rps cpus and try blasting a lot of UDP traffic to
see what happens) my step after that is to move to forwarding tests..
 
cheers,
jamal

--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
rps: question, jamal, (Sun Feb 7, 11:42 am)
Re: rps: question, Tom Herbert, (Sun Feb 7, 10:58 pm)
Re: rps: question, jamal, (Mon Feb 8, 8:09 am)
rps perfomance WAS(Re: rps: question, jamal, (Wed Apr 14, 4:53 am)
Re: rps perfomance WAS(Re: rps: question, Tom Herbert, (Wed Apr 14, 10:31 am)
Re: rps perfomance WAS(Re: rps: question, Eric Dumazet, (Wed Apr 14, 11:04 am)
Re: rps perfomance WAS(Re: rps: question, jamal, (Wed Apr 14, 11:53 am)
Re: rps perfomance WAS(Re: rps: question, Stephen Hemminger, (Wed Apr 14, 11:53 am)
Re: rps perfomance WAS(Re: rps: question, Stephen Hemminger, (Wed Apr 14, 12:44 pm)
Re: rps perfomance WAS(Re: rps: question, Eric Dumazet, (Wed Apr 14, 12:58 pm)
Re: rps perfomance WAS(Re: rps: question, jamal, (Wed Apr 14, 1:22 pm)
Re: rps perfomance WAS(Re: rps: question, Eric Dumazet, (Wed Apr 14, 1:27 pm)
Re: rps perfomance WAS(Re: rps: question, Andi Kleen, (Wed Apr 14, 1:34 pm)
Re: rps perfomance WAS(Re: rps: question, jamal, (Wed Apr 14, 1:38 pm)
Re: rps perfomance WAS(Re: rps: question, Tom Herbert, (Wed Apr 14, 1:45 pm)
Re: rps perfomance WAS(Re: rps: question, Eric Dumazet, (Wed Apr 14, 1:57 pm)
Re: rps perfomance WAS(Re: rps: question, Changli Gao, (Wed Apr 14, 3:51 pm)
Re: rps perfomance WAS(Re: rps: question, Stephen Hemminger, (Wed Apr 14, 4:02 pm)
Re: rps perfomance WAS(Re: rps: question, Eric Dumazet, (Wed Apr 14, 7:40 pm)
Re: rps perfomance WAS(Re: rps: question, Changli Gao, (Wed Apr 14, 7:50 pm)
Re: rps perfomance WAS(Re: rps: question, David Miller, (Thu Apr 15, 1:42 am)
Re: rps perfomance WAS(Re: rps: question, David Miller, (Thu Apr 15, 1:48 am)
Re: rps perfomance WAS(Re: rps: question, David Miller, (Thu Apr 15, 1:50 am)
Re: rps perfomance WAS(Re: rps: question, David Miller, (Thu Apr 15, 1:51 am)
Re: rps perfomance WAS(Re: rps: question, David Miller, (Thu Apr 15, 1:51 am)
Re: rps perfomance WAS(Re: rps: question, David Miller, (Thu Apr 15, 1:57 am)
Re: rps perfomance WAS(Re: rps: question, jamal, (Thu Apr 15, 4:55 am)
Re: rps perfomance WAS(Re: rps: question, jamal, (Thu Apr 15, 5:10 am)
Re: rps perfomance WAS(Re: rps: question, Changli Gao, (Thu Apr 15, 5:32 am)
Re: rps perfomance WAS(Re: rps: question, jamal, (Thu Apr 15, 5:50 am)
Re: rps perfomance WAS(Re: rps: question, Rick Jones, (Thu Apr 15, 9:41 am)
Re: rps perfomance WAS(Re: rps: question, jamal, (Thu Apr 15, 1:16 pm)
Re: rps perfomance WAS(Re: rps: question, Rick Jones, (Thu Apr 15, 1:25 pm)
Re: rps perfomance WAS(Re: rps: question, Changli Gao, (Thu Apr 15, 4:51 pm)
Re: rps perfomance WAS(Re: rps: question, Changli Gao, (Thu Apr 15, 4:56 pm)
Re: rps perfomance WAS(Re: rps: question, Eric Dumazet, (Thu Apr 15, 10:18 pm)
Re: rps perfomance WAS(Re: rps: question, Changli Gao, (Thu Apr 15, 11:02 pm)
Re: rps perfomance WAS(Re: rps: question, Tom Herbert, (Thu Apr 15, 11:28 pm)
Re: rps perfomance WAS(Re: rps: question, Eric Dumazet, (Thu Apr 15, 11:32 pm)
Re: rps perfomance WAS(Re: rps: question, Andi Kleen, (Fri Apr 16, 12:15 am)
Re: rps perfomance WAS(Re: rps: question, jamal, (Fri Apr 16, 6:21 am)
Re: rps perfomance WAS(Re: rps: question, jamal, (Fri Apr 16, 6:27 am)
Re: rps perfomance WAS(Re: rps: question, Changli Gao, (Fri Apr 16, 6:34 am)
Re: rps perfomance WAS(Re: rps: question, Andi Kleen, (Fri Apr 16, 6:37 am)
Re: rps perfomance WAS(Re: rps: question, jamal, (Fri Apr 16, 6:42 am)
Re: rps perfomance WAS(Re: rps: question, jamal, (Fri Apr 16, 6:49 am)
Re: rps perfomance WAS(Re: rps: question, jamal, (Fri Apr 16, 6:58 am)
Re: rps perfomance WAS(Re: rps: question, Changli Gao, (Fri Apr 16, 7:10 am)
Re: rps perfomance WAS(Re: rps: question, jamal, (Fri Apr 16, 7:43 am)
Re: rps perfomance WAS(Re: rps: question, Changli Gao, (Fri Apr 16, 7:58 am)
Re: rps perfomance WAS(Re: rps: question, Tom Herbert, (Fri Apr 16, 8:57 am)
Re: rps perfomance WAS(Re: rps: question, Eric Dumazet, (Sat Apr 17, 12:35 am)
Re: rps perfomance WAS(Re: rps: question, Tom Herbert, (Sat Apr 17, 1:43 am)
Re: rps perfomance WAS(Re: rps: question, Eric Dumazet, (Sat Apr 17, 2:23 am)
Re: rps perfomance WAS(Re: rps: question, Eric Dumazet, (Sat Apr 17, 7:27 am)
Re: rps perfomance WAS(Re: rps: question, Tom Herbert, (Sat Apr 17, 10:26 am)
Re: rps perfomance WAS(Re: rps: question, jamal, (Sat Apr 17, 10:31 am)
Re: rps perfomance WAS(Re: rps: question, Eric Dumazet, (Sun Apr 18, 2:39 am)
Re: rps perfomance WAS(Re: rps: question, Eric Dumazet, (Sun Apr 18, 4:34 am)
Re: rps perfomance WAS(Re: rps: question, jamal, (Sun Apr 18, 7:09 pm)
[RFC] rps: shortcut net_rps_action(), Eric Dumazet, (Mon Apr 19, 2:37 am)
Re: [RFC] rps: shortcut net_rps_action(), Changli Gao, (Mon Apr 19, 2:48 am)
Re: [RFC] rps: shortcut net_rps_action(), Eric Dumazet, (Mon Apr 19, 5:14 am)
Re: [RFC] rps: shortcut net_rps_action(), Changli Gao, (Mon Apr 19, 5:28 am)
Re: rps perfomance WAS(Re: rps: question, jamal, (Mon Apr 19, 5:48 am)
Re: [RFC] rps: shortcut net_rps_action(), Eric Dumazet, (Mon Apr 19, 6:27 am)
Re: [RFC] rps: shortcut net_rps_action(), Eric Dumazet, (Mon Apr 19, 7:22 am)
[PATCH net-next-2.6] rps: shortcut net_rps_action(), Eric Dumazet, (Mon Apr 19, 8:07 am)
Re: [PATCH net-next-2.6] rps: shortcut net_rps_action(), David Miller, (Mon Apr 19, 1:21 pm)
Re: [PATCH net-next-2.6] rps: shortcut net_rps_action(), Eric Dumazet, (Mon Apr 19, 10:55 pm)
[PATCH net-next-2.6] rps: cleanups, Eric Dumazet, (Tue Apr 20, 12:17 am)
Re: [PATCH net-next-2.6] rps: cleanups, David Miller, (Tue Apr 20, 1:18 am)
Re: rps perfomance WAS(Re: rps: question, jamal, (Tue Apr 20, 5:02 am)
Re: rps perfomance WAS(Re: rps: question, Eric Dumazet, (Tue Apr 20, 6:13 am)
Re: rps perfomance WAS(Re: rps: question, Eric Dumazet, (Wed Apr 21, 12:01 pm)
Re: rps perfomance WAS(Re: rps: question, Rick Jones, (Wed Apr 21, 2:53 pm)
Re: rps perfomance WAS(Re: rps: question, Changli Gao, (Wed Apr 21, 6:27 pm)
Re: rps perfomance WAS(Re: rps: question, jamal, (Thu Apr 22, 5:12 am)
Re: rps perfomance WAS(Re: rps: question, Changli Gao, (Sat Apr 24, 7:31 pm)
Re: rps perfomance WAS(Re: rps: question, jamal, (Mon Apr 26, 4:35 am)
Re: rps perfomance WAS(Re: rps: question, Changli Gao, (Mon Apr 26, 6:35 am)