Messages in this thread | | | From | Yunsheng Lin <> | Subject | [PATCH RFC 0/8] A possible proposal for intergating dmabuf to page pool | Date | Mon, 13 Nov 2023 21:00:32 +0800 |
| |
This patchset is based on the [1] and [2], it is similar to what patch [2] is doing in essence, the main differences is: 1. It reuses the 'struct page' to have more unified handling between normal page and devmem page for net stack. 2. It relies on the page->pp_frag_count to do reference counting instead of page->_refcount, in order to decouple the devmem page from mm subsystem.
As this patch is using normal memory page as devmem page as prototyping, it is tested using simple iperf with some hack in hns3 driver and in __skb_datagram_iter().
1. https://lkml.kernel.org/netdev/20230105214631.3939268-2-willy@infradead.org/ 2. https://lore.kernel.org/all/20231106024413.2801438-1-almasrymina@google.com/
Jakub Kicinski (2): net: page_pool: factor out releasing DMA from releasing the page net: page_pool: create hooks for custom page providers
Mina Almasry (1): memory-provider: dmabuf devmem memory provider
Yunsheng Lin (5): skbuff: explicitize the semantics of skb_frag_fill_page_desc() skbuff: remove compound_head() related function calling skbuff: always try to do page pool frag reference counting net: hns3: temp hack for hns3 to use dmabuf memory provider net: temp hack for dmabuf page in __skb_datagram_iter()
.../chelsio/inline_crypto/ch_ktls/chcr_ktls.c | 2 +- .../net/ethernet/hisilicon/hns3/hns3_enet.c | 9 +- drivers/net/ethernet/sun/cassini.c | 4 +- drivers/net/veth.c | 2 +- include/linux/skbuff.h | 26 ++- include/net/page_pool/types.h | 60 ++++++ net/core/datagram.c | 10 +- net/core/page_pool.c | 197 ++++++++++++++++-- net/core/skbuff.c | 10 +- net/tls/tls_device_fallback.c | 2 +- 10 files changed, 282 insertions(+), 40 deletions(-)
-- 2.33.0
| |