[PATCH net-next V3 00/16] net: fec: cleanup and fixes
Fugang Duan
fugang.duan at nxp.com
Wed Apr 6 01:51:42 PDT 2016
From: Troy Kisky <troy.kisky at boundarydevices.com> Sent: Wednesday, April 06, 2016 10:26 AM
> To: netdev at vger.kernel.org; davem at davemloft.net; Fugang Duan
> <fugang.duan at nxp.com>; lznuaa at gmail.com
> Cc: Fabio Estevam <fabio.estevam at nxp.com>; l.stach at pengutronix.de;
> andrew at lunn.ch; tremyfr at gmail.com; gerg at uclinux.org; linux-arm-
> kernel at lists.infradead.org; johannes at sipsolutions.net;
> stillcompiling at gmail.com; sergei.shtylyov at cogentembedded.com;
> arnd at arndb.de; Troy Kisky <troy.kisky at boundarydevices.com>
> Subject: [PATCH net-next V3 00/16] net: fec: cleanup and fixes
>
> V3 has
>
> 1 dropped patch "net: fec: print more debug info in fec_timeout"
> 2 new patches
> 0002-net-fec-remove-unused-interrupt-FEC_ENET_TS_TIMER.patch
> 0003-net-fec-return-IRQ_HANDLED-if-fec_ptp_check_pps_even.patch
>
> 1 combined patch
> 0004-net-fec-pass-rxq-txq-to-fec_enet_rx-tx_queue-instead.patch
>
> The changes are noted on individual patches
>
> My measured performance of this series is
>
> before patch set
> 365 Mbits/sec Tx/407 RX
>
> after patch set
> 374 Tx/427 Rx
>
I doubt the performance data, I validate it on i.MX6q sabresd board on the latest commit(4da46cebbd3b) in net tree.
The test log as below:
root at imx6qdlsolo:~# uname -a
Linux imx6qdlsolo 4.6.0-rc1-00318-g4da46ce #180 SMP Wed Apr 6 16:24:09 CST 2016 armv7l GNU/Linux
root at imx6qdlsolo:~# cat /sys/devices/soc0/soc_id
i.MX6Q
root at imx6qdlsolo:~# echo performance > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
root at imx6qdlsolo:~# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq
996000
root at imx6qdlsolo:~# iperf -s &
[1] 891
root at imx6qdlsolo:~# ------------------------------------------------------------
Server listening on TCP port 5001
TCP window size: 85.3 KByte (default)
------------------------------------------------------------
root at imx6qdlsolo:~# [ 4] local 10.192.242.107 port 5001 connected with 10.192.242.248 port 38409
[ ID] Interval Transfer Bandwidth
[ 4] 0.0-20.0 sec 1.40 GBytes 602 Mbits/sec
root at imx6qdlsolo:~# iperf -c 10.192.242.248 -t 20
------------------------------------------------------------
Client connecting to 10.192.242.248, TCP port 5001
TCP window size: 43.8 KByte (default)
------------------------------------------------------------
[ 3] local 10.192.242.107 port 52124 connected with 10.192.242.248 port 5001
[ ID] Interval Transfer Bandwidth
[ 3] 0.0-20.0 sec 776 MBytes 325 Mbits/sec
TCP RX performance is 602Mbps, TX is only 325Mbps, TX path has some performance issue in net tree.
I will dig out it.
>
> Troy Kisky (16):
> net: fec: only check queue 0 if RXF_0/TXF_0 interrupt is set
> net: fec: remove unused interrupt FEC_ENET_TS_TIMER
> net: fec: return IRQ_HANDLED if fec_ptp_check_pps_event handled it
> net: fec: pass rxq/txq to fec_enet_rx/tx_queue instead of queue_id
> net: fec: reduce interrupts
> net: fec: split off napi routine with 3 queues
> net: fec: don't clear all rx queue bits when just one is being checked
> net: fec: set cbd_sc without relying on previous value
> net: fec: eliminate calls to fec_enet_get_prevdesc
> net: fec: move restart test for efficiency
> net: fec: clear cbd_sc after transmission to help with debugging
> net: fec: dump all tx queues in fec_dump
> net: fec: detect tx int lost
> net: fec: create subroutine reset_tx_queue
> net: fec: call dma_unmap_single on mapped tx buffers at restart
> net: fec: don't set cbd_bufaddr unless no mapping error
>
> drivers/net/ethernet/freescale/fec.h | 10 +-
> drivers/net/ethernet/freescale/fec_main.c | 410 ++++++++++++++++------------
> --
> 2 files changed, 218 insertions(+), 202 deletions(-)
>
> --
> 2.5.0
More information about the linux-arm-kernel
mailing list