Thread (23 messages) 23 messages, 7 authors, 2021-03-24

Re: [PATCH net-next 3/6] page_pool: DMA handling and allow to recycles frames via SKB

From: Matteo Croce <hidden>
Date: 2021-03-22 19:40:18
Also in: lkml

On Mon, Mar 22, 2021 at 6:03 PM Matteo Croce [off-list ref] wrote:
From: Ilias Apalodimas <ilias.apalodimas@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.apalodimas@linaro.org>
Signed-off-by: Jesper Dangaard Brouer <redacted>
Signed-off-by: Matteo Croce <redacted>
---
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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help