Skip to content

Commit

Permalink
net: page_pool: add page allocation stats for two fast page allocate …
Browse files Browse the repository at this point in the history
…path

Currently If use page pool allocation stats to analysis a RX performance
degradation problem. These stats only count for pages allocate from
page_pool_alloc_pages. But nic drivers such as hns3 use
page_pool_dev_alloc_frag to allocate pages, so page stats in this API
should also be counted.

Signed-off-by: Jie Wang <wangjie125@huawei.com>
Signed-off-by: Guangbin Huang <huangguangbin2@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
Jie Wang authored and David S. Miller committed May 13, 2022
1 parent a19cef4 commit 0f6deac
Showing 1 changed file with 4 additions and 1 deletion.
5 changes: 4 additions & 1 deletion net/core/page_pool.c
Original file line number Diff line number Diff line change
Expand Up @@ -704,8 +704,10 @@ struct page *page_pool_alloc_frag(struct page_pool *pool,

if (page && *offset + size > max_size) {
page = page_pool_drain_frag(pool, page);
if (page)
if (page) {
alloc_stat_inc(pool, fast);
goto frag_reset;
}
}

if (!page) {
Expand All @@ -727,6 +729,7 @@ struct page *page_pool_alloc_frag(struct page_pool *pool,

pool->frag_users++;
pool->frag_offset = *offset + size;
alloc_stat_inc(pool, fast);
return page;
}
EXPORT_SYMBOL(page_pool_alloc_frag);
Expand Down

0 comments on commit 0f6deac

Please sign in to comment.