From: Yunsheng Lin Date: Tue, 24 Aug 2021 09:06:49 +0000 (+0800) Subject: page_pool: use relaxed atomic for release side accounting X-Git-Tag: libata-5.15-2021-09-05~51^2~96 X-Git-Url: https://git.kernel.dk/?a=commitdiff_plain;h=7fb9b66dc9ce52b058b3f9f3016b4d39f692c3b9;p=linux-2.6-block.git page_pool: use relaxed atomic for release side accounting There is no need to synchronize the account updating, so use the relaxed atomic to avoid some memory barrier in the data path. Acked-by: Jesper Dangaard Brouer Signed-off-by: Yunsheng Lin Acked-by: Ilias Apalodimas Signed-off-by: David S. Miller --- diff --git a/net/core/page_pool.c b/net/core/page_pool.c index e1409056965a..1a6978427d6c 100644 --- a/net/core/page_pool.c +++ b/net/core/page_pool.c @@ -370,7 +370,7 @@ skip_dma_unmap: /* This may be the last page returned, releasing the pool, so * it is not safe to reference pool afterwards. */ - count = atomic_inc_return(&pool->pages_state_release_cnt); + count = atomic_inc_return_relaxed(&pool->pages_state_release_cnt); trace_page_pool_state_release(pool, page, count); } EXPORT_SYMBOL(page_pool_release_page);