All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH net-next 00/40] net: fec: cleanup/fixes
@ 2016-01-28 21:25 ` Troy Kisky
  0 siblings, 0 replies; 96+ messages in thread
From: Troy Kisky @ 2016-01-28 21:25 UTC (permalink / raw)
  To: netdev, davem, B38611
  Cc: fabio.estevam, l.stach, andrew, tremyfr, linux, linux-arm-kernel,
	laci, shawnguo, Troy Kisky


The testing for this series was done on a nitrogen6x.
The base commit was
commit 7a26019fdecdb45ff784ae4e3b7e0cc9045100ca
    Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net

Testing used imx_v6_v7_defconfig + CONFIG_MICREL_PHY.
The processor was running at 996Mhz. The last 2 patches
are independent from this series, but I included here
to have the bench marks in one place. The following
commands were used to get the transfer rates.

On an x86 ubunto system,
iperf -s -i.5 -u


On a nitrogen6x board, running via NFS/Sd card.
I first stopped some background processes

stop cron
stop upstart-file-bridge
stop upstart-socket-bridge
stop upstart-udev-bridge
stop rsyslog
stop dbus
killall dhclient
echo performance >/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor

taskset 0x2 iperf -c 192.168.0.201 -u -t60 -b500M -r

There is a branch available on github with this series
https://github.com:boundarydevices/linux-imx6.git branch net-next_master


Troy Kisky (40):
NFS      SDCARD
 TX/RX   TX/RX  Mbits/sec
377/406 379/407 before any patches
377/409 379/406 net: fec: stop the "rcv is not +last, " error messages
374/406 374/407 net: fec: fix rx error counts
373/410 377/407 net: fec: fix fec_enet_get_free_txdesc_num
374/408 379/413 net: fec: add struct bufdesc_prop
375/410 379/412 net: fec: add variable reg_desc_active to speed things up
380/413 383/416 net: fec: don't disable FEC_ENET_TS_TIMER interrupt
375/406 379/413 net: fec: don't transfer ownership until descriptor write is complete
373/411 378/414 net: fec: move cbd_bufaddr assignment closer to the mapping function
372/411 377/414 net: fec: only check queue 0 if RXF_0/TXF_0 interrupt is set
375/410 375/412 net: fec: pass rxq to fec_enet_rx_queue instead of queue_id
373/414 377/413 net: fec: pass txq to fec_enet_tx_queue instead of queue_id
380/426 382/425 net: fec: reduce interrupts
378/418 379/417 net: fec: split off napi routine with 3 queues
379/417 379/418 net: fec: don't clear all rx queue bits when just one is being checked
379/420 379/420 net: fec: set cbd_sc without relying on previous value
379/422 379/422 net: fec: eliminate calls to fec_enet_get_prevdesc
379/425 379/424 net: fec: move restart test for efficiency
379/415 379/419 net: fec: clear cbd_sc after transmission to help with debugging
373/420 379/421 net: fec: dump all tx queues in fec_dump
378/425 379/427 net: fec: detect tx int lost
379/416 379/418 net: fec: print more debug info in fec_timeout
379/415 380/415 net: fec: call dma_unmap_single on mapped tx buffers at restart
382/419 384/418 net: fec: don't set cbd_bufaddr unless no mapping error
379/417 380/415 net: fec: return NETDEV_TX_BUSY, when not enough space in ring
379/417 379/417 net: fec: don't free skb until it has been unmapped
378/421 379/425 net: fec: set cbd_esc only once
379/413 380/411 net: fec: enable interrupt on very last descriptor only
381/411 381/411 net: fec: unmap initial buffer on error
379/419 387/417 net: fec: don't free skb when returning busy
384/419 386/418 net: fec: move last_bdp assignment for symmetry
383/420 387/419 net: fec: don't transfer ownership until entire tso is queued
381/424 384/424 net: fec: fix err_release in fec_enet_txq_submit_tso
382/423 383/422 net: fec: shrink the window for 'tx int lost'
387/418 388/420 net: fec: update dirty_tx even if no skb
387/423 390/423 net: fec: rename dirty_tx to pending_tx
388/426 389/423 net: fec: use mac set by bootloader before fuses
379/425 380/432 net: fec: add events device file
379/432 381/429 net: fec: recover from lost rxf_0 interrupt
381/432 381/432 ARM: dts: imx6qdl-nitrogen6x: add phy interrupt to eliminate polling
380/432 380/432 ARM: dts: imx6qdl-nitrogen6_max: add phy interrupt to eliminate
    polling


The same patch set on Freescale's 3.14 release gives
458/619 Mbits/sec with the command modified to

taskset 0x2 iperf -c 192.168.0.201 -u -t60 -b600M -r

The huge difference may be related to the cpuidle driver which isn't
enabled in imx_v6_v7_defconfig and doesn't seem to work if it is enabled.




 arch/arm/boot/dts/imx6qdl-nitrogen6_max.dtsi |   9 +
 arch/arm/boot/dts/imx6qdl-nitrogen6x.dtsi    |  11 +
 drivers/net/ethernet/freescale/fec.h         |  59 +-
 drivers/net/ethernet/freescale/fec_main.c    | 921 ++++++++++++++-------------
 4 files changed, 525 insertions(+), 475 deletions(-)

^ permalink raw reply	[flat|nested] 96+ messages in thread

end of thread, other threads:[~2016-02-01 14:04 UTC | newest]

Thread overview: 96+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-01-28 21:25 [PATCH net-next 00/40] net: fec: cleanup/fixes Troy Kisky
2016-01-28 21:25 ` Troy Kisky
2016-01-28 21:25 ` [PATCH net-next 01/40] net: fec: stop the "rcv is not +last, " error messages Troy Kisky
2016-01-28 21:25   ` Troy Kisky
2016-01-28 21:25 ` [PATCH net-next 02/40] net: fec: fix rx error counts Troy Kisky
2016-01-28 21:25   ` Troy Kisky
2016-01-28 21:25 ` [PATCH net-next 03/40] net: fec: fix fec_enet_get_free_txdesc_num Troy Kisky
2016-01-28 21:25   ` Troy Kisky
2016-01-28 21:25 ` [PATCH net-next 04/40] net: fec: add struct bufdesc_prop Troy Kisky
2016-01-28 21:25   ` Troy Kisky
2016-01-28 21:25 ` [PATCH net-next 05/40] net: fec: add variable reg_desc_active to speed things up Troy Kisky
2016-01-28 21:25   ` Troy Kisky
2016-01-28 21:25 ` [PATCH net-next 06/40] net: fec: don't disable FEC_ENET_TS_TIMER interrupt Troy Kisky
2016-01-28 21:25   ` Troy Kisky
2016-01-28 21:25 ` [PATCH net-next 07/40] net: fec: don't transfer ownership until descriptor write is complete Troy Kisky
2016-01-28 21:25   ` Troy Kisky
2016-01-28 21:25 ` [PATCH net-next 08/40] net: fec: move cbd_bufaddr assignment closer to the mapping function Troy Kisky
2016-01-28 21:25   ` Troy Kisky
2016-01-28 22:02   ` Arnd Bergmann
2016-01-28 22:02     ` Arnd Bergmann
2016-01-28 22:14     ` Johannes Berg
2016-01-28 22:14       ` Johannes Berg
2016-01-29 17:49     ` Troy Kisky
2016-01-29 17:49       ` Troy Kisky
2016-01-28 21:25 ` [PATCH net-next 09/40] net: fec: only check queue 0 if RXF_0/TXF_0 interrupt is set Troy Kisky
2016-01-28 21:25   ` Troy Kisky
2016-01-28 21:25 ` [PATCH net-next 10/40] net: fec: pass rxq to fec_enet_rx_queue instead of queue_id Troy Kisky
2016-01-28 21:25   ` Troy Kisky
2016-01-28 21:25 ` [PATCH net-next 11/40] net: fec: pass txq to fec_enet_tx_queue " Troy Kisky
2016-01-28 21:25   ` Troy Kisky
2016-01-28 21:25 ` [PATCH net-next 12/40] net: fec: reduce interrupts Troy Kisky
2016-01-28 21:25   ` Troy Kisky
2016-01-28 21:25 ` [PATCH net-next 13/40] net: fec: split off napi routine with 3 queues Troy Kisky
2016-01-28 21:25   ` Troy Kisky
2016-01-28 21:25 ` [PATCH net-next 14/40] net: fec: don't clear all rx queue bits when just one is being checked Troy Kisky
2016-01-28 21:25   ` Troy Kisky
2016-01-28 21:25 ` [PATCH net-next 15/40] net: fec: set cbd_sc without relying on previous value Troy Kisky
2016-01-28 21:25   ` Troy Kisky
2016-01-28 21:25 ` [PATCH net-next 16/40] net: fec: eliminate calls to fec_enet_get_prevdesc Troy Kisky
2016-01-28 21:25   ` Troy Kisky
2016-01-28 21:25 ` [PATCH net-next 17/40] net: fec: move restart test for efficiency Troy Kisky
2016-01-28 21:25   ` Troy Kisky
2016-01-28 21:25 ` [PATCH net-next 18/40] net: fec: clear cbd_sc after transmission to help with debugging Troy Kisky
2016-01-28 21:25   ` Troy Kisky
2016-01-28 21:25 ` [PATCH net-next 19/40] net: fec: dump all tx queues in fec_dump Troy Kisky
2016-01-28 21:25   ` Troy Kisky
2016-01-28 21:25 ` [PATCH net-next 20/40] net: fec: detect tx int lost Troy Kisky
2016-01-28 21:25   ` Troy Kisky
2016-01-28 21:25 ` [PATCH net-next 21/40] net: fec: print more debug info in fec_timeout Troy Kisky
2016-01-28 21:25   ` Troy Kisky
2016-01-28 21:25 ` [PATCH net-next 22/40] net: fec: call dma_unmap_single on mapped tx buffers at restart Troy Kisky
2016-01-28 21:25   ` Troy Kisky
2016-01-28 21:25 ` [PATCH net-next 23/40] net: fec: don't set cbd_bufaddr unless no mapping error Troy Kisky
2016-01-28 21:25   ` Troy Kisky
2016-01-28 21:25 ` [PATCH net-next 24/40] net: fec: return NETDEV_TX_BUSY, when not enough space in ring Troy Kisky
2016-01-28 21:25   ` Troy Kisky
2016-01-28 21:25 ` [PATCH net-next 25/40] net: fec: don't free skb until it has been unmapped Troy Kisky
2016-01-28 21:25   ` Troy Kisky
2016-01-28 21:25 ` [PATCH net-next 26/40] net: fec: set cbd_esc only once Troy Kisky
2016-01-28 21:25   ` Troy Kisky
2016-01-28 21:25 ` [PATCH net-next 27/40] net: fec: enable interrupt on very last descriptor only Troy Kisky
2016-01-28 21:25   ` Troy Kisky
2016-01-28 21:25 ` [PATCH net-next 28/40] net: fec: unmap initial buffer on error Troy Kisky
2016-01-28 21:25   ` Troy Kisky
2016-01-28 21:25 ` [PATCH net-next 29/40] net: fec: don't free skb when returning busy Troy Kisky
2016-01-28 21:25   ` Troy Kisky
2016-01-28 21:25 ` [PATCH net-next 30/40] net: fec: move last_bdp assignment for symmetry Troy Kisky
2016-01-28 21:25   ` Troy Kisky
2016-01-28 21:25 ` [PATCH net-next 31/40] net: fec: don't transfer ownership until entire tso is queued Troy Kisky
2016-01-28 21:25   ` Troy Kisky
2016-01-28 21:25 ` [PATCH net-next 32/40] net: fec: fix err_release in fec_enet_txq_submit_tso Troy Kisky
2016-01-28 21:25   ` Troy Kisky
2016-01-28 21:25 ` [PATCH net-next 33/40] net: fec: shrink the window for 'tx int lost' Troy Kisky
2016-01-28 21:25   ` Troy Kisky
2016-01-28 21:25 ` [PATCH net-next 34/40] net: fec: update dirty_tx even if no skb Troy Kisky
2016-01-28 21:25   ` Troy Kisky
2016-01-28 21:25 ` [PATCH net-next 35/40] net: fec: rename dirty_tx to pending_tx Troy Kisky
2016-01-28 21:25   ` Troy Kisky
2016-01-28 21:26 ` [PATCH net-next 36/40] net: fec: use mac set by bootloader before fuses Troy Kisky
2016-01-28 21:26   ` Troy Kisky
2016-01-28 21:26 ` [PATCH net-next 37/40] net: fec: add events device file Troy Kisky
2016-01-28 21:26   ` Troy Kisky
2016-01-28 21:26 ` [PATCH net-next 38/40] net: fec: recover from lost rxf_0 interrupt Troy Kisky
2016-01-28 21:26   ` Troy Kisky
2016-01-28 21:26 ` [PATCH net-next 39/40] ARM: dts: imx6qdl-nitrogen6x: add phy interrupt to eliminate polling Troy Kisky
2016-01-28 21:26   ` Troy Kisky
2016-02-01 14:03   ` Shawn Guo
2016-02-01 14:03     ` Shawn Guo
2016-01-28 21:26 ` [PATCH net-next 40/40] ARM: dts: imx6qdl-nitrogen6_max: " Troy Kisky
2016-01-28 21:26   ` Troy Kisky
2016-02-01 14:04   ` Shawn Guo
2016-02-01 14:04     ` Shawn Guo
2016-01-28 22:39 ` [PATCH net-next 00/40] net: fec: cleanup/fixes David Miller
2016-01-28 22:39   ` David Miller
     [not found]   ` <CAGB=+3Sip-+2Qf-KTZfoCCBcO9=9tb=pVCaEs=+eNJ1sWSRgXw@mail.gmail.com>
2016-01-29  0:19     ` David Miller
2016-01-29  0:19       ` David Miller

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.