diff options
author | Liang Chen <liangchen.linux@gmail.com> | 2023-12-15 04:30:10 +0100 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2023-12-17 11:56:33 +0100 |
commit | 8cfa2dee325f72f286f8f3210f867cbb981f2302 (patch) | |
tree | c3a133cd3d9b158d7d15cb15686ad63aec49c4df /net/core | |
parent | page_pool: halve BIAS_MAX for multiple user references of a fragment (diff) | |
download | linux-8cfa2dee325f72f286f8f3210f867cbb981f2302.tar.xz linux-8cfa2dee325f72f286f8f3210f867cbb981f2302.zip |
skbuff: Add a function to check if a page belongs to page_pool
Wrap code for checking if a page is a page_pool page into a
function for better readability and ease of reuse.
Signed-off-by: Liang Chen <liangchen.linux@gmail.com>
Reviewed-by: Yunsheng Lin <linyunsheng@huawei.com>
Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Reviewed-by: Mina Almasry <almarsymina@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/core')
-rw-r--r-- | net/core/skbuff.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/net/core/skbuff.c b/net/core/skbuff.c index 83af8aaeb893..2f977fffd3ec 100644 --- a/net/core/skbuff.c +++ b/net/core/skbuff.c @@ -890,6 +890,11 @@ static void skb_clone_fraglist(struct sk_buff *skb) skb_get(list); } +static bool is_pp_page(struct page *page) +{ + return (page->pp_magic & ~0x3UL) == PP_SIGNATURE; +} + #if IS_ENABLED(CONFIG_PAGE_POOL) bool napi_pp_put_page(struct page *page, bool napi_safe) { @@ -905,7 +910,7 @@ bool napi_pp_put_page(struct page *page, bool napi_safe) * and page_is_pfmemalloc() is checked in __page_pool_put_page() * to avoid recycling the pfmemalloc page. */ - if (unlikely((page->pp_magic & ~0x3UL) != PP_SIGNATURE)) + if (unlikely(!is_pp_page(page))) return false; pp = page->pp; |