• Artem Bityutskiy's avatar
    igb: add RR2DCDELAY to ethtool registers dump · cd502a7f
    Artem Bityutskiy authored
    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: default avatarArtem Bityutskiy <artem.bityutskiy@linux.intel.com>
    Tested-by: default avatarAaron Brown <aaron.f.brown@intel.com>
    Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
    cd502a7f
igb_ethtool.c 97.6 KB