Message ID | 20230509114337.21005-1-linyunsheng@huawei.com (mailing list archive) |
---|---|
Headers | show |
Series | introduce skb_frag_fill_page_desc() | expand |
On Tue, 9 May 2023 19:43:35 +0800 Yunsheng Lin wrote: > Most users use __skb_frag_set_page()/skb_frag_off_set()/ > skb_frag_size_set() to fill the page desc for a skb frag. > It does not make much sense to calling __skb_frag_set_page() > without calling skb_frag_off_set(), as the offset may depend > on whether the page is head page or tail page, so add > skb_frag_fill_page_desc() to fill the page desc for a skb > frag. > > In the future, we can make sure the page in the frag is > head page of compound page or a base page, if not, we > may warn about that and convert the tail page to head > page and update the offset accordingly, if we see a warning > about that, we also fix the caller to fill the head page > in the frag. when the fixing is done, we may remove the > warning and converting. > > In this way, we can remove the compound_head() or use > page_ref_*() like the below case: > https://elixir.bootlin.com/linux/latest/source/net/core/page_pool.c#L881 > https://elixir.bootlin.com/linux/latest/source/include/linux/skbuff.h#L3383 > > It may also convert net stack to use the folio easier. > > RFC: remove a local variable as pointed out by Simon. Looks like you posted this 3 times and different people replied with their acks to different versions :( Wait awhile, read: https://www.kernel.org/doc/html/next/process/maintainer-netdev.html and repost with all the ack/review tags included.