From: Yunsheng Lin <linyunsheng@xxxxxxxxxx> Date: Wed, 8 Mar 2023 14:27:13 +0800 > On 2023/3/8 2:14, Alexander Lobakin wrote: >> From: Yunsheng Lin <linyunsheng@xxxxxxxxxx> >> Date: Tue, 7 Mar 2023 10:50:34 +0800 [...] >> You mean false-positives in both directions? Because if ->pp_recycle is >> set, the stack can still free non-PP pages. In the opposite case, I mean >> when ->pp_recycle is false and an skb page belongs to a page_pool, yes, >> there'll be issues. > > That may depends on what is a PP pages and what is a non-PP pages, it seems > hard to answer now. > > For a skb with ->pp_recycle being true and its frag page with page->pp_magic > being PP_SIGNATURE, when calling skb_clone()/pskb_expand_head() or > skb_try_coalesce(), we may call __skb_frag_ref() for the frag page, which > mean a page with page->pp_magic being PP_SIGNATURE can be both PP page > and non-PP page at the same time. So it is important to set the ->pp_recycle > correctly, and it seems hard to get that right from past experience,that's > why a per page marker is suggested. Oh well, I didn't know that :s Thanks for the expl. [...] Olek