• J
    ixgbe: Use watchdog check in favor of BPF for detecting latched timestamp · 6cb562d6
    Jacob Keller 提交于
    This patch removes ixgbe_ptp_match, and the corresponding packet filtering from
    ixgbe driver. This code was previously causing some issues within the hotpath of
    the driver. However the code also provided a check against possible frozen Rx
    timestamp due to dropped packets when the Rx ring is full. This patch provides a
    replacement solution based on the watchdog.
    
    To this end, whenever a packet consumes the Rx timestamp it stores the jiffy
    value in the rx_ring structure. Watchdog updates its own jiffy timer whenever
    there is no valid timestamp in the registers.
    
    If watchdog detects a valid timestamp in the registers, (meaning that no Rx
    packet has consumed it yet) it will check which time is most recent, the last
    time in the watchdog, or any time in the rx_rings. If the most recent "event"
    was more than 5seconds ago, it will flush the Rx timestamp and print a warning
    message to the syslog.
    Reported-by: NAlexander Duyck <alexander.h.duyck@intel.com>
    Signed-off-by: NJacob Keller <jacob.e.keller@intel.com>
    Tested-by: NPhil Schmitt <phillip.j.schmitt@intel.com>
    Signed-off-by: NJeff Kirsher <jeffrey.t.kirsher@intel.com>
    6cb562d6
ixgbe_main.c 215.6 KB