RE: [PATCH net-next V3 00/16] net: fec: cleanup and fixes
flat view
STALE3847d
From: Fugang Duan <hidden>
Date: 2016-04-06 08:51:42
Also in:
linux-arm-kernel
Revision v3 of 2 in this series.
Revisions (2)
- v3 current
- v3
From: Troy Kisky <redacted> Sent: Wednesday, April 06, 2016 10:26 AM
To: netdev@vger.kernel.org; davem@davemloft.net; Fugang Duan [off-list ref]; lznuaa@gmail.com Cc: Fabio Estevam <redacted>; l.stach@pengutronix.de; andrew@lunn.ch; tremyfr@gmail.com; gerg@uclinux.org; linux-arm- kernel@lists.infradead.org; johannes@sipsolutions.net; stillcompiling@gmail.com; sergei.shtylyov@cogentembedded.com; arnd@arndb.de; Troy Kisky [off-list ref] 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@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@imx6qdlsolo:~# cat /sys/devices/soc0/soc_id i.MX6Q root@imx6qdlsolo:~# echo performance > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor root@imx6qdlsolo:~# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq 996000 root@imx6qdlsolo:~# iperf -s & [1] 891 root@imx6qdlsolo:~# ------------------------------------------------------------ Server listening on TCP port 5001 TCP window size: 85.3 KByte (default) ------------------------------------------------------------ root@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@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