Re: [RFC PATCH v2 08/10] net: sched: pfifo_fast use alf_queue
From: Alexei Starovoitov <hidden>
Date: 2016-07-15 22:48:08
On Fri, Jul 15, 2016 at 03:18:12PM -0700, John Fastabend wrote:
nolock (pfifo_fast)
1: 1440293 1421602 1409553 1393469 1424543
2: 1754890 1819292 1727948 1797711 1743427
4: 3282665 3344095 3315220 3332777 3348972
8: 2940079 1644450 2950777 2922085 2946310
12: 2042084 2610060 2857581 3493162 3104611
lock (pfifo_fast)
1: 1471479 1469142 1458825 1456788 1453952
2: 1746231 1749490 1753176 1753780 1755959
4: 1119626 1120515 1121478 1119220 1121115
8: 1001471 999308 1000318 1000776 1000384
12: 989269 992122 991590 986581 990430
So then if we just use the first test example because I'm being a
bit lazy and don't want to calculate the avg/mean/whatever we get
a pfifo_fast chart like,
locked nolock diff
---------------------------------------------------
1 1471479 1440293 − 31186
2 1746231 1754890 + 8659
4 1119626 3282665 +2163039
8 1119626 2940079 +1820453
12 989269 2857581* +1868312...
Also I'm going to take a look at Jesper's microbenchmark numbers but I think if I can convince myself that using skb_array helps or at least does no harm I might push to have this include with skb_array and then work on optimizing the ring type/kind/etc. as a follow up patch. Additionally it does seem to provide goodness on the pfifo_fast single queue case.
Agree. I think the pfifo_fast gains worth applying this patch set as-is and work on further improvements in follow up.