Re: AF_XDP and dma

Magnus Karlsson <[email protected]>
Newsgroups org.kernel.vger.xdp-newbies
Message-ID <CAJ8uoz3ZoCXK6H7rrbV8oRA7TBBz9_zW=Um1+v4vNTXOWag8nw@mail.gmail.com>
On Fri, Apr 9, 2021 at 12:50 PM ratheesh kannoth <[email protected]> wrote:
>
> On Fri, Apr 9, 2021 at 3:50 PM Magnus Karlsson
> <[email protected]> wrote:
> > Then looking at user-space code will not help you :-). Take a look at
> > the code in driver/net/ethernet/intel/i40e/i40e_xsk.c in the Linux
> > kernel for an example on how to DMA map the umem.
>
> Thanks, i could see that it is pinning the pages and mapping.
>
> Using Kernel DMA api, we can map the virtual memory. But how the NIC
> can write/read to the memory if it is not physically contiguous. NIC
> card only understand physical addresses. Correct me.

In XDP/AF_XDP mode, the NIC only uses a single 4K page (on x86-64) per
packet so it will be physically contiguous by definition. Every single
page will be dma mapped separately and can reside anywhere. There is
no scatter-gather in XDP/AF_XDP mode.

> > > > > > /Magnus
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.