Re: [RFC PATCH v2 08/10] net: sched: pfifo_fast use alf_queue

Alexei Starovoitov
2016-07-15T22:48:08Z

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.