On Wed, Nov 16, 2022 at 11:30 PM Saeed Mahameed <saeed@xxxxxxxxxx> wrote: > > On 15 Nov 13:13, Maciej Fijalkowski wrote: > >On Mon, Nov 14, 2022 at 04:03:23PM -0800, Tony Nguyen wrote: > >> From: Sylwester Dziedziuch <sylwesterx.dziedziuch@xxxxxxxxx> > >> > >> When starting xdpsock program in TX only mode: > >> > >> samples/bpf/xdpsock -i <interface> -t > >> > >> there was an error on i40e driver: > >> > >> Failed to allocate some buffers on AF_XDP ZC enabled Rx ring 0 (pf_q 81) > >> > >> It was caused by trying to allocate RX buffers even though > >> no RX buffers are available because we run in TX only mode. > >> > >> Fix this by checking for number of available buffers > >> for RX queue when allocating buffers during XDP setup. > > > >I was not sure if we want to proceed with this or not. For sure it's not a > >fix to me, behavior was not broken, txonly mode was working correctly. > >We're only getting rid of the bogus message that caused confusion within > >people. > > > >I feel that if we want that in then we should route this via -next and > >address other drivers as well. Not sure what are Magnus' thoughts on this. > > > +1 > > Some other driver might not have this print message issue, but it would be > nice if the driver got some indication of the TX only nature so maybe we can > cut some corners on napi and avoid even attempting to allocate the rx zc > buffers. This would save some resources for sure. We could add a field to the XDP_SETUP_XSK_POOL command struct that is passed to the driver to indicate if the socket has an Rx component and if it has a Tx component. Just do not know how common it is to have a Tx only xsk socket. Packet generators come to my mind, but what more?