On Mon, Mar 22, 2021 at 6:03 PM Matteo Croce <mcr...@linux.microsoft.com> wrote: > > From: Ilias Apalodimas <ilias.apalodi...@linaro.org> > > During skb_release_data() intercept the packet and if it's a buffer > coming from our page_pool API recycle it back to the pool for further > usage. > To achieve that we introduce a bit in struct sk_buff (pp_recycle:1) and > store the xdp_mem_info in page->private. The SKB bit is needed since > page->private is used by skb_copy_ubufs, so we can't rely solely on > page->private to trigger recycling. > > The driver has to take care of the sync operations on it's own > during the buffer recycling since the buffer is never unmapped. > > In order to enable recycling the driver must call skb_mark_for_recycle() > to store the information we need for recycling in page->private and > enabling the recycling bit > > Storing the information in page->private allows us to recycle both SKBs > and their fragments > > Signed-off-by: Ilias Apalodimas <ilias.apalodi...@linaro.org> > Signed-off-by: Jesper Dangaard Brouer <bro...@redhat.com> > Signed-off-by: Matteo Croce <mcr...@microsoft.com> > ---
Hi, the patch title really should be: page_pool: DMA handling and frame recycling via SKBs As in the previous RFC. Sorry, -- per aspera ad upstream