[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <1629796009-11010-1-git-send-email-linyunsheng@huawei.com>
Date: Tue, 24 Aug 2021 17:06:49 +0800
From: Yunsheng Lin <linyunsheng@...wei.com>
To: <davem@...emloft.net>, <kuba@...nel.org>
CC: <hawk@...nel.org>, <ilias.apalodimas@...aro.org>,
<netdev@...r.kernel.org>, <linux-kernel@...r.kernel.org>,
<hkallweit1@...il.com>
Subject: [PATCH net-next v3] 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 <brouer@...hat.com>
Signed-off-by: Yunsheng Lin <linyunsheng@...wei.com>
---
V3: Drop patch 2.
V2: Remove unnecessary unliky() mark as pointed out by
Heiner.
---
net/core/page_pool.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/net/core/page_pool.c b/net/core/page_pool.c
index e140905..1a69784 100644
--- a/net/core/page_pool.c
+++ b/net/core/page_pool.c
@@ -370,7 +370,7 @@ void page_pool_release_page(struct page_pool *pool, struct page *page)
/* 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);
--
2.7.4
Powered by blists - more mailing lists