Star64_linux/drivers/net/ethernet/intel
Artem Bityutskiy cd502a7f7c igb: add RR2DCDELAY to ethtool registers dump
This patch adds the RR2DCDELAY register to the ethtool registers dump.
RR2DCDELAY exists on I210 and I211 Intel Gigabit Ethernet chips and it stands
for "Read Request To Data Completion Delay". Here is how this register is
described in the I210 datasheet:

"This field captures the maximum PCIe split time in 16 ns units, which is the
maximum delay between the read request to the first data completion. This is
giving an estimation of the PCIe round trip time."

In other words, whenever I210 reads from the host memory (e.g., fetches a
descriptor from the ring), the chip measures every PCI DMA read transaction and
captures the maximum value. So it ends up containing the longest DMA
transaction time.

This register is very useful for troubleshooting and research purposes. If you
are dealing with time-sensitive networks, this register can help you get
an idea of your "I210-to-ring" latency. This helps answering questions like
"should I have PCIe ASPM enabled?" or "should I enable deep C-states?" on
my system.

It is safe to read this register at any point, reading it has no effect on
the I210 chip functionality.

Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
Tested-by: Aaron Brown <aaron.f.brown@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2019-06-28 16:00:06 -07:00
..
e1000 e1000: Use dma_wmb() instead of wmb() before doorbell writes 2019-06-28 15:59:43 -07:00
e1000e e1000e: Reduce boot time by tightening sleep ranges 2019-06-28 15:59:52 -07:00
fm10k
i40e i40e/i40e_virtchnl_pf: Use struct_size() in kzalloc() 2019-06-26 09:18:54 -07:00
iavf iavf: Fix up debug print macro 2019-06-28 15:59:56 -07:00
ice ice: Use struct_size() helper 2019-06-28 14:54:11 -07:00
igb igb: add RR2DCDELAY to ethtool registers dump 2019-06-28 16:00:06 -07:00
igbvf
igc
ixgb
ixgbe ixgbe: fix potential u32 overflow on shift 2019-06-28 15:59:38 -07:00
ixgbevf
e100.c
Kconfig
Makefile