mbox series

[rfc,v3,0/4] add frag page support in page pool

Message ID 1626081581-54524-1-git-send-email-linyunsheng@huawei.com (mailing list archive)
Headers show
Series add frag page support in page pool | expand

Message

Yunsheng Lin July 12, 2021, 9:19 a.m. UTC
This patchset adds frag page support in page pool and
enable skb's page frag recycling based on page pool in
hns3 drvier.

RFC v3:
1. Implement the semantic of "page recycling only wait for the
   page pool user instead of all user of a page" 
2. Support the frag allocation of different sizes
3. Merge patch 4 & 5 to one patch as it does not make sense to
   use page_pool_dev_alloc_pages() API directly with elevated
   refcnt.
4. other minor comment suggested by Alexander.

RFC v2:
1. Split patch 1 to more reviewable one.
2. Repurpose the lower 12 bits of the dma address to store the
   pagecnt_bias as suggested by Alexander.
3. support recycling to pool->alloc for elevated refcnt case
   too.


Yunsheng Lin (4):
  page_pool: keep pp info as long as page pool owns the page
  page_pool: add interface for getting and setting pagecnt_bias
  page_pool: add frag page recycling support in page pool
  net: hns3: support skb's frag page recycling based on page pool

 drivers/net/ethernet/hisilicon/hns3/hns3_enet.c |  79 ++++++++++++-
 drivers/net/ethernet/hisilicon/hns3/hns3_enet.h |   3 +
 drivers/net/ethernet/marvell/mvneta.c           |   6 +-
 drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c |   2 +-
 drivers/net/ethernet/ti/cpsw.c                  |   2 +-
 drivers/net/ethernet/ti/cpsw_new.c              |   2 +-
 include/linux/skbuff.h                          |   4 +-
 include/net/page_pool.h                         |  58 +++++++--
 net/core/page_pool.c                            | 150 +++++++++++++++++++++---
 9 files changed, 262 insertions(+), 44 deletions(-)

Comments

Yunsheng Lin July 12, 2021, 10:39 a.m. UTC | #1
Please ignore this patch set, will send out a new series
without duplicated patch 3 and fix a bug for a corner case.

On 2021/7/12 17:19, Yunsheng Lin wrote:
> This patchset adds frag page support in page pool and
> enable skb's page frag recycling based on page pool in
> hns3 drvier.
> 
> RFC v3:
> 1. Implement the semantic of "page recycling only wait for the
>    page pool user instead of all user of a page" 
> 2. Support the frag allocation of different sizes
> 3. Merge patch 4 & 5 to one patch as it does not make sense to
>    use page_pool_dev_alloc_pages() API directly with elevated
>    refcnt.
> 4. other minor comment suggested by Alexander.
> 
> RFC v2:
> 1. Split patch 1 to more reviewable one.
> 2. Repurpose the lower 12 bits of the dma address to store the
>    pagecnt_bias as suggested by Alexander.
> 3. support recycling to pool->alloc for elevated refcnt case
>    too.
> 
> 
> Yunsheng Lin (4):
>   page_pool: keep pp info as long as page pool owns the page
>   page_pool: add interface for getting and setting pagecnt_bias
>   page_pool: add frag page recycling support in page pool
>   net: hns3: support skb's frag page recycling based on page pool
> 
>  drivers/net/ethernet/hisilicon/hns3/hns3_enet.c |  79 ++++++++++++-
>  drivers/net/ethernet/hisilicon/hns3/hns3_enet.h |   3 +
>  drivers/net/ethernet/marvell/mvneta.c           |   6 +-
>  drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c |   2 +-
>  drivers/net/ethernet/ti/cpsw.c                  |   2 +-
>  drivers/net/ethernet/ti/cpsw_new.c              |   2 +-
>  include/linux/skbuff.h                          |   4 +-
>  include/net/page_pool.h                         |  58 +++++++--
>  net/core/page_pool.c                            | 150 +++++++++++++++++++++---
>  9 files changed, 262 insertions(+), 44 deletions(-)
>