[RFC,net-next,00/11] NXP ENETC AF_XDP zero-copy sockets

Message ID 20230206100837.451300-1-vladimir.oltean@nxp.com
Headers
Series NXP ENETC AF_XDP zero-copy sockets |

Message

Vladimir Oltean Feb. 6, 2023, 10:08 a.m. UTC
  This is RFC because I have a few things I'm not 100% certain about.
I've tested this with the xdpsock test application, I don't have very
detailed knowledge about the internals of AF_XDP sockets.

Patches where I'd appreciate if people took a look are 02/11, 05/11,
10/11 and 11/11.

Vladimir Oltean (11):
  net: enetc: optimize struct enetc_rx_swbd layout
  net: enetc: perform XDP RX queue registration at enetc_setup_bpf()
    time
  net: enetc: rename "cleaned_cnt" to "buffs_missing"
  net: enetc: continue NAPI processing on frames with RX errors
  net: enetc: add support for ethtool --show-channels
  net: enetc: consolidate rx_swbd freeing
  net: enetc: rename enetc_free_tx_frame() to enetc_free_tx_swbd()
  net: enetc: increment rx_byte_cnt for XDP data path
  net: enetc: move setting of ENETC_TXBD_FLAGS_F flag to
    enetc_xdp_map_tx_buff()
  net: enetc: add RX support for zero-copy XDP sockets
  net: enetc: add TX support for zero-copy XDP sockets

 drivers/net/ethernet/freescale/enetc/enetc.c  | 676 +++++++++++++++---
 drivers/net/ethernet/freescale/enetc/enetc.h  |   9 +-
 .../ethernet/freescale/enetc/enetc_ethtool.c  |  10 +
 .../net/ethernet/freescale/enetc/enetc_pf.c   |   1 +
 4 files changed, 606 insertions(+), 90 deletions(-)
  

Comments

Maciej Fijalkowski Feb. 8, 2023, 4:41 p.m. UTC | #1
On Mon, Feb 06, 2023 at 12:08:26PM +0200, Vladimir Oltean wrote:
> This is RFC because I have a few things I'm not 100% certain about.
> I've tested this with the xdpsock test application, I don't have very
> detailed knowledge about the internals of AF_XDP sockets.
> 
> Patches where I'd appreciate if people took a look are 02/11, 05/11,
> 10/11 and 11/11.

All of that looks rather sane to me. Can you point out explicitly your
issues here? Is it around concurrent access to XDP Tx rings or something
more?

I commented on 10 and 11. For 2 it seems fine and 5 has always been
controversial.

> 
> Vladimir Oltean (11):
>   net: enetc: optimize struct enetc_rx_swbd layout
>   net: enetc: perform XDP RX queue registration at enetc_setup_bpf()
>     time
>   net: enetc: rename "cleaned_cnt" to "buffs_missing"
>   net: enetc: continue NAPI processing on frames with RX errors
>   net: enetc: add support for ethtool --show-channels
>   net: enetc: consolidate rx_swbd freeing
>   net: enetc: rename enetc_free_tx_frame() to enetc_free_tx_swbd()
>   net: enetc: increment rx_byte_cnt for XDP data path
>   net: enetc: move setting of ENETC_TXBD_FLAGS_F flag to
>     enetc_xdp_map_tx_buff()
>   net: enetc: add RX support for zero-copy XDP sockets
>   net: enetc: add TX support for zero-copy XDP sockets
> 
>  drivers/net/ethernet/freescale/enetc/enetc.c  | 676 +++++++++++++++---
>  drivers/net/ethernet/freescale/enetc/enetc.h  |   9 +-
>  .../ethernet/freescale/enetc/enetc_ethtool.c  |  10 +
>  .../net/ethernet/freescale/enetc/enetc_pf.c   |   1 +
>  4 files changed, 606 insertions(+), 90 deletions(-)
> 
> -- 
> 2.34.1
>