• Jesper Dangaard Brouer's avatar
    ixgbe: add counter for times Rx pages gets allocated, not recycled · 86e23494
    Jesper Dangaard Brouer authored
    The ixgbe driver have page recycle scheme based around the RX-ring
    queue, where a RX page is shared between two packets. Based on the
    refcnt, the driver can determine if the RX-page is currently only used
    by a single packet, if so it can then directly refill/recycle the
    RX-slot by with the opposite "side" of the page.
    
    While this is a clever trick, it is hard to determine when this
    recycling is successful and when it fails.  Adding a counter, which is
    available via ethtool --statistics as 'alloc_rx_page'.  Which counts
    the number of times the recycle fails and the real page allocator is
    invoked.  When interpreting the stats, do remember that every alloc
    will serve two packets.
    
    The counter is collected per rx_ring, but is summed and ethtool
    exported as 'alloc_rx_page'.  It would be relevant to know what
    rx_ring that cannot keep up, but that can be exported later if
    someone experience a need for this.
    Signed-off-by: default avatarJesper Dangaard Brouer <brouer@redhat.com>
    Tested-by: default avatarAndrew Bowers <andrewx.bowers@intel.com>
    Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
    86e23494
ixgbe_ethtool.c 99.5 KB