RE: [Intel-wired-lan] [PATCH v7 intel-next 3/9] ice: split ice_ring onto Tx/Rx separate structs

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




> -----Original Message-----
> From: Intel-wired-lan <intel-wired-lan-bounces@xxxxxxxxxx> On Behalf Of
> Maciej Fijalkowski
> Sent: Thursday, August 19, 2021 5:30 PM
> To: intel-wired-lan@xxxxxxxxxxxxxxxx
> Cc: joamaki@xxxxxxxxx; Lobakin, Alexandr <alexandr.lobakin@xxxxxxxxx>;
> netdev@xxxxxxxxxxxxxxx; toke@xxxxxxxxxx; bjorn@xxxxxxxxxx;
> kuba@xxxxxxxxxx; bpf@xxxxxxxxxxxxxxx; davem@xxxxxxxxxxxxx; Karlsson,
> Magnus <magnus.karlsson@xxxxxxxxx>
> 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@xxxxxxxxx>
> ---
>  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@xxxxxxxxx> (A Contingent worker at Intel)




[Index of Archives]     [Linux Samsung SoC]     [Linux Rockchip SoC]     [Linux Actions SoC]     [Linux for Synopsys ARC Processors]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]


  Powered by Linux