Re: AF_XDP not transmitting frames immediately

Jakub Kicinski <[email protected]>
Newsgroups org.kernel.vger.xdp-newbies
Message-ID <20211216072852.680ef9e0@kicinski-fedora-pc1c0hjn.dhcp.thefacebook.com>
On Thu, 16 Dec 2021 08:34:23 +0000 Karlsson, Magnus wrote:
> > "Time" will tell if it is good enough (pun intended).
> > Meaning I will implement and measure it.
> > The busy-poll mode does sound like a way forward.
> > 
> > Looking at kernel code, I can see that drivers TX NAPI usually does DMA-TX
> > completion *before* transmitting new frames.  This usually makes sense,
> > but for our use-case of hitting a narrow time-slot, I worry about the jitter this
> > introduces.  I would like to see a mode/flag that would allow transmitting
> > new frames (and afterwards invoking/scheduling TX-completion, e.g. via
> > raising the softirq/NAPI).
> > Well this is future work, first I will measure current implementation.  
> 
> Maciej has been experimenting with the ice driver to do sending
> first. Completions are only done lazily when needed to make sure that
> there are always a number of descriptors available for sending. This
> yields much better throughput and is the style that DPDK uses for its
> drivers. Hopefully, this will also improve latency, though we have
> not measured that. Could be adopted for the igc driver too if that is
> the case.

I think this came up before, there was a concern that some applications
may forgo retransmiting data until they see a completions (like
skb_still_in_host_queue()).  Make sure you call out that it's a change
in behavior in the commit message and/or docs.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.