i40e: add XDP ring statistics to VSI stats
Prior to this, only Rx and Tx ring statistics were accounted for. Signed-off-by: Ciara Loftus <ciara.loftus@intel.com> Tested-by: Andrew Bowers <andrewx.bowers@intel.com> Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
This commit is contained in:
parent
1fd972ebe5
commit
e2968260e1
|
@ -811,6 +811,25 @@ static void i40e_update_vsi_stats(struct i40e_vsi *vsi)
|
|||
rx_p += packets;
|
||||
rx_buf += p->rx_stats.alloc_buff_failed;
|
||||
rx_page += p->rx_stats.alloc_page_failed;
|
||||
|
||||
if (i40e_enabled_xdp_vsi(vsi)) {
|
||||
/* locate XDP ring */
|
||||
p = READ_ONCE(vsi->xdp_rings[q]);
|
||||
if (!p)
|
||||
continue;
|
||||
|
||||
do {
|
||||
start = u64_stats_fetch_begin_irq(&p->syncp);
|
||||
packets = p->stats.packets;
|
||||
bytes = p->stats.bytes;
|
||||
} while (u64_stats_fetch_retry_irq(&p->syncp, start));
|
||||
tx_b += bytes;
|
||||
tx_p += packets;
|
||||
tx_restart += p->tx_stats.restart_queue;
|
||||
tx_busy += p->tx_stats.tx_busy;
|
||||
tx_linearize += p->tx_stats.tx_linearize;
|
||||
tx_force_wb += p->tx_stats.tx_force_wb;
|
||||
}
|
||||
}
|
||||
rcu_read_unlock();
|
||||
vsi->tx_restart = tx_restart;
|
||||
|
|
Loading…
Reference in New Issue