/** * i40e_update_tx_stats - Update the egress statistics for the Tx ring * @tx_ring: Tx ring to update * @total_packets: total packets sent * @total_bytes: total bytes sent
**/ staticinlinevoid i40e_update_tx_stats(struct i40e_ring *tx_ring, unsignedint total_packets, unsignedint total_bytes)
{
u64_stats_update_begin(&tx_ring->syncp);
tx_ring->stats.bytes += total_bytes;
tx_ring->stats.packets += total_packets;
u64_stats_update_end(&tx_ring->syncp);
tx_ring->q_vector->tx.total_bytes += total_bytes;
tx_ring->q_vector->tx.total_packets += total_packets;
}
#define WB_STRIDE 4
/** * i40e_arm_wb - (Possibly) arms Tx write-back * @tx_ring: Tx ring to update * @vsi: the VSI * @budget: the NAPI budget left
**/ staticinlinevoid i40e_arm_wb(struct i40e_ring *tx_ring, struct i40e_vsi *vsi, int budget)
{ if (tx_ring->flags & I40E_TXR_FLAGS_WB_ON_ITR) { /* check to see if there are < 4 descriptors * waiting to be written back, then kick the hardware to force * them to be written back in case we stay in NAPI. * In this mode on X722 we do not enable Interrupt.
*/ unsignedint j = i40e_get_tx_pending(tx_ring, false);
/** * i40e_rx_is_programming_status - check for programming status descriptor * @qword1: qword1 representing status_error_len in CPU ordering * * The value of in the descriptor length field indicate if this * is a programming status descriptor for flow director or FCoE * by the value of I40E_RX_PROG_STATUS_DESC_LENGTH, otherwise * it is a packet descriptor.
**/ staticinlinebool i40e_rx_is_programming_status(u64 qword1)
{ /* The Rx filter programming status and SPH bit occupy the same * spot in the descriptor. Since we don't support packet split we * can just reuse the bit as an indication that this is a * programming status descriptor.
*/ return qword1 & I40E_RXD_QW1_LENGTH_SPH_MASK;
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.