Message ID | 20231020095952.11055-1-linyunsheng@huawei.com (mailing list archive) |
---|---|
Headers | show |
Series | introduce page_pool_alloc() related API | expand |
On Fri, 20 Oct 2023 17:59:47 +0800 Yunsheng Lin wrote: > In [1] & [2] & [3], there are usecases for veth and virtio_net > to use frag support in page pool to reduce memory usage, and it > may request different frag size depending on the head/tail > room space for xdp_frame/shinfo and mtu/packet size. When the > requested frag size is large enough that a single page can not > be split into more than one frag, using frag support only have > performance penalty because of the extra frag count handling > for frag support. > > So this patchset provides a page pool API for the driver to > allocate memory with least memory utilization and performance > penalty when it doesn't know the size of memory it need > beforehand. I don't mean to cut off the discussion, if any is still to happen. But AFAIU we have a general agreement that this is a good direction, we're at v12 already, and it's getting late in the release cycle. To give this series a chance of making v6.7 I will apply it now. If there are any unresolved concerns in a couple of days we can drop it.
Hello: This series was applied to netdev/net-next.git (main) by Jakub Kicinski <kuba@kernel.org>: On Fri, 20 Oct 2023 17:59:47 +0800 you wrote: > In [1] & [2] & [3], there are usecases for veth and virtio_net > to use frag support in page pool to reduce memory usage, and it > may request different frag size depending on the head/tail > room space for xdp_frame/shinfo and mtu/packet size. When the > requested frag size is large enough that a single page can not > be split into more than one frag, using frag support only have > performance penalty because of the extra frag count handling > for frag support. > > [...] Here is the summary with links: - [net-next,v12,1/5] page_pool: unify frag_count handling in page_pool_is_last_frag() https://git.kernel.org/netdev/net-next/c/58d53d8f7da6 - [net-next,v12,2/5] page_pool: remove PP_FLAG_PAGE_FRAG https://git.kernel.org/netdev/net-next/c/09d96ee5674a - [net-next,v12,3/5] page_pool: introduce page_pool_alloc() API https://git.kernel.org/netdev/net-next/c/de97502e16fc - [net-next,v12,4/5] page_pool: update document about fragment API https://git.kernel.org/netdev/net-next/c/8ab32fa1c794 - [net-next,v12,5/5] net: veth: use newly added page pool API for veth with xdp https://git.kernel.org/netdev/net-next/c/2d0de67da51a You are awesome, thank you!