[PATCH 1/2 net-next] net: fec: add napi support to improve proformance

Frank Li lznuaa at gmail.com
Wed Jan 23 02:37:43 EST 2013


2013/1/23 Eric Dumazet <eric.dumazet at gmail.com>:
> On Wed, 2013-01-23 at 12:12 +0800, Frank Li wrote:
>> Add napi support
>>
>> Before this patch
>>
>>  iperf -s -i 1
>>  ------------------------------------------------------------
>>  Server listening on TCP port 5001
>>  TCP window size: 85.3 KByte (default)
>>  ------------------------------------------------------------
>>  [  4] local 10.192.242.153 port 5001 connected with 10.192.242.138 port 50004
>>  [ ID] Interval       Transfer     Bandwidth
>>  [  4]  0.0- 1.0 sec  41.2 MBytes   345 Mbits/sec
>>  [  4]  1.0- 2.0 sec  43.7 MBytes   367 Mbits/sec
>>  [  4]  2.0- 3.0 sec  42.8 MBytes   359 Mbits/sec
>>  [  4]  3.0- 4.0 sec  43.7 MBytes   367 Mbits/sec
>>  [  4]  4.0- 5.0 sec  42.7 MBytes   359 Mbits/sec
>>  [  4]  5.0- 6.0 sec  43.8 MBytes   367 Mbits/sec
>>  [  4]  6.0- 7.0 sec  43.0 MBytes   361 Mbits/sec
>>
>> After this patch
>>  [  4]  2.0- 3.0 sec  51.6 MBytes   433 Mbits/sec
>>  [  4]  3.0- 4.0 sec  51.8 MBytes   435 Mbits/sec
>>  [  4]  4.0- 5.0 sec  52.2 MBytes   438 Mbits/sec
>>  [  4]  5.0- 6.0 sec  52.1 MBytes   437 Mbits/sec
>>  [  4]  6.0- 7.0 sec  52.1 MBytes   437 Mbits/sec
>>  [  4]  7.0- 8.0 sec  52.3 MBytes   439 Mbits/sec
>
> Strange, as you still call netif_rx()
>
> NAPI should call netif_receive_skb() instead
>

Thank you point out.
After re-test, I found performance is almost no change if use netif_receive_skb.
I am not sure if it is my NAPI implement problem.

napi_gro_received is better than netif_receive_skb, but worse than netif_rx.

>From performance point view,

netif_rx                    --- fastest
napi_gro_received   --- middle, near to netif_rx
netif_receive_skb    --- slowest, almost the same as original no-napi version.

Do you have any idea about this phenomena?

best regards
Frank Li

>
>



More information about the linux-arm-kernel mailing list