linux-stable/drivers/net/ethernet/microchip
Vishvambar Panth S 169e0a5e43 net: microchip: lan743x: improve throughput with rx timestamp config
Currently all RX frames are timestamped which results in a performance
penalty when timestamping is not needed.  The default is now being
changed to not timestamp any Rx frames (HWTSTAMP_FILTER_NONE), but
support has been added to allow changing the desired RX timestamping
mode (HWTSTAMP_FILTER_ALL -  which was the previous setting and
HWTSTAMP_FILTER_PTP_V2_EVENT are now supported) using
SIOCSHWTSTAMP. All settings were tested using the hwstamp_ctl application.
It is also noted that ptp4l, when started, preconfigures the device to
timestamp using HWTSTAMP_FILTER_PTP_V2_EVENT, so this driver continues
to work properly "out of the box".

Test setup:  x64 PC with LAN7430 ---> x64 PC as partner

iperf3 with - Timestamp all incoming packets:
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-5.05   sec   517 MBytes   859 Mbits/sec    0    sender
[  5]   0.00-5.00   sec   515 MBytes   864 Mbits/sec         receiver

iperf Done.

iperf3 with - Timestamp only PTP packets:
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-5.04   sec   563 MBytes   937 Mbits/sec    0    sender
[  5]   0.00-5.00   sec   561 MBytes   941 Mbits/sec         receiver

Signed-off-by: Vishvambar Panth S <vishvambarpanth.s@microchip.com>
Reviewed-by: Jacob Keller <jacob.e.keller@intel.com>
Link: https://lore.kernel.org/r/20231020185801.25649-1-vishvambarpanth.s@microchip.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2023-10-24 09:16:08 +02:00
..
lan966x net: lan966x: remove useless code in lan966x_xtr_irq_handler 2023-10-23 09:56:05 +01:00
sparx5 net: sparx5: replace deprecated strncpy with ethtool_sprintf 2023-10-13 17:10:32 -07:00
vcap net: microchip: sparx5: clean up error checking in vcap_show_admin() 2023-10-03 07:13:32 -07:00
enc28j60.c net: enc28j60: Use threaded interrupt instead of workqueue 2023-05-11 18:00:37 -07:00
enc28j60_hw.h
encx24j600-regmap.c net: encx24j600: Fix invalid logic in reading of MISTAT register 2022-12-05 09:46:31 +00:00
encx24j600.c net: ethernet: move from strlcpy with unused retval to strscpy 2022-08-31 14:11:26 -07:00
encx24j600_hw.h
Kconfig net: lan743x: also select PHYLIB 2023-10-05 09:10:18 -07:00
lan743x_ethtool.c net: microchip: lan743x: improve throughput with rx timestamp config 2023-10-24 09:16:08 +02:00
lan743x_ethtool.h net: lan743x: Add support to SGMII register dump for PCI11010/PCI11414 chips 2022-11-09 19:20:13 -08:00
lan743x_main.c net: microchip: lan743x: improve throughput with rx timestamp config 2023-10-24 09:16:08 +02:00
lan743x_main.h net: microchip: lan743x: improve throughput with rx timestamp config 2023-10-24 09:16:08 +02:00
lan743x_ptp.c net: microchip: lan743x: improve throughput with rx timestamp config 2023-10-24 09:16:08 +02:00
lan743x_ptp.h
Makefile net: microchip: sparx5: Adding initial tc flower support for VCAP API 2022-10-24 10:37:43 +01:00