Messages in this thread | | | From | Ilias Apalodimas <> | Date | Mon, 11 Mar 2024 10:31:54 +0200 | Subject | Re: [PATCH net-next v1] net: page_pool: factor out page_pool recycle check |
| |
On Fri, 8 Mar 2024 at 22:45, Mina Almasry <almasrymina@google.com> wrote: > > The check is duplicated in 2 places, factor it out into a common helper. > > Signed-off-by: Mina Almasry <almasrymina@google.com> > Reviewed-by: Yunsheng Lin <linyunsheng@huawei.com> > --- > net/core/page_pool.c | 9 +++++++-- > 1 file changed, 7 insertions(+), 2 deletions(-) > > diff --git a/net/core/page_pool.c b/net/core/page_pool.c > index d706fe5548df..dd364d738c00 100644 > --- a/net/core/page_pool.c > +++ b/net/core/page_pool.c > @@ -657,6 +657,11 @@ static bool page_pool_recycle_in_cache(struct page *page, > return true; > } > > +static bool __page_pool_page_can_be_recycled(const struct page *page) > +{ > + return page_ref_count(page) == 1 && !page_is_pfmemalloc(page); > +} > + > /* If the page refcnt == 1, this will try to recycle the page. > * if PP_FLAG_DMA_SYNC_DEV is set, we'll try to sync the DMA area for > * the configured size min(dma_sync_size, pool->max_len). > @@ -678,7 +683,7 @@ __page_pool_put_page(struct page_pool *pool, struct page *page, > * page is NOT reusable when allocated when system is under > * some pressure. (page_is_pfmemalloc) > */ > - if (likely(page_ref_count(page) == 1 && !page_is_pfmemalloc(page))) { > + if (likely(__page_pool_page_can_be_recycled(page))) { > /* Read barrier done in page_ref_count / READ_ONCE */ > > if (pool->p.flags & PP_FLAG_DMA_SYNC_DEV) > @@ -793,7 +798,7 @@ static struct page *page_pool_drain_frag(struct page_pool *pool, > if (likely(page_pool_unref_page(page, drain_count))) > return NULL; > > - if (page_ref_count(page) == 1 && !page_is_pfmemalloc(page)) { > + if (__page_pool_page_can_be_recycled(page)) { > if (pool->p.flags & PP_FLAG_DMA_SYNC_DEV) > page_pool_dma_sync_for_device(pool, page, -1); > > -- > 2.44.0.278.ge034bb2e1d-goog > Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
| |