[Intel-wired-lan] [PATCH v7 intel-next 3/9] ice: split ice_ring onto Tx/Rx separate structs
G, GurucharanX
gurucharanx.g at intel.com
Wed Sep 22 18:28:07 UTC 2021
> -----Original Message-----
> From: Intel-wired-lan <intel-wired-lan-bounces at osuosl.org> On Behalf Of
> Maciej Fijalkowski
> Sent: Thursday, August 19, 2021 5:30 PM
> To: intel-wired-lan at lists.osuosl.org
> Cc: joamaki at gmail.com; Lobakin, Alexandr <alexandr.lobakin at intel.com>;
> netdev at vger.kernel.org; toke at redhat.com; bjorn at kernel.org;
> kuba at kernel.org; bpf at vger.kernel.org; davem at davemloft.net; Karlsson,
> Magnus <magnus.karlsson at intel.com>
> Subject: [Intel-wired-lan] [PATCH v7 intel-next 3/9] ice: split ice_ring onto
> Tx/Rx separate structs
>
> While it was convenient to have a generic ring structure that served
> both Tx and Rx sides, next commits are going to introduce several
> Tx-specific fields, so in order to avoid hurting the Rx side, let's
> pull out the Tx ring onto new ice_tx_ring and ice_rx_ring structs.
>
> Rx ring could be handled by the old ice_ring which would reduce the code
> churn within this patch, but this would make things asymmetric.
>
> Make the union out of the ring container within ice_q_vector so that it
> is possible to iterate over newly introduced ice_tx_ring.
>
> Remove the @size as it's only accessed from control path and it can be
> calculated pretty easily.
>
> Change definitions of ice_update_ring_stats and
> ice_fetch_u64_stats_per_ring so that they are ring agnostic and can be
> used for both Rx and Tx rings.
>
> Sizes of Rx and Tx ring structs are 256 and 192 bytes, respectively. In
> Rx ring xdp_rxq_info occupies its own cacheline, so it's the major
> difference now.
>
> Signed-off-by: Maciej Fijalkowski <maciej.fijalkowski at intel.com>
> ---
> drivers/net/ethernet/intel/ice/ice.h | 33 +++--
> drivers/net/ethernet/intel/ice/ice_base.c | 57 ++++----
> drivers/net/ethernet/intel/ice/ice_base.h | 8 +-
> drivers/net/ethernet/intel/ice/ice_dcb_lib.c | 5 +-
> drivers/net/ethernet/intel/ice/ice_dcb_lib.h | 10 +-
> drivers/net/ethernet/intel/ice/ice_eswitch.c | 35 ++---
> drivers/net/ethernet/intel/ice/ice_eswitch.h | 4 +-
> drivers/net/ethernet/intel/ice/ice_ethtool.c | 49 ++++---
> drivers/net/ethernet/intel/ice/ice_lib.c | 64 +++++----
> drivers/net/ethernet/intel/ice/ice_lib.h | 6 +-
> drivers/net/ethernet/intel/ice/ice_main.c | 69 +++++----
> drivers/net/ethernet/intel/ice/ice_ptp.c | 2 +-
> drivers/net/ethernet/intel/ice/ice_ptp.h | 4 +-
> drivers/net/ethernet/intel/ice/ice_trace.h | 28 ++--
> drivers/net/ethernet/intel/ice/ice_txrx.c | 131 ++++++++++--------
> drivers/net/ethernet/intel/ice/ice_txrx.h | 114 +++++++++------
> drivers/net/ethernet/intel/ice/ice_txrx_lib.c | 18 +--
> drivers/net/ethernet/intel/ice/ice_txrx_lib.h | 14 +-
> .../net/ethernet/intel/ice/ice_virtchnl_pf.c | 2 +-
> drivers/net/ethernet/intel/ice/ice_xsk.c | 49 ++++---
> drivers/net/ethernet/intel/ice/ice_xsk.h | 20 +--
> 21 files changed, 397 insertions(+), 325 deletions(-)
>
Tested-by: Gurucharan G <gurucharanx.g at intel.com> (A Contingent worker at Intel)
More information about the Intel-wired-lan
mailing list