[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20230616122140.6e889357@kernel.org>
Date: Fri, 16 Jun 2023 12:21:40 -0700
From: Jakub Kicinski <kuba@...nel.org>
To: Jesper Dangaard Brouer <jbrouer@...hat.com>
Cc: Alexander Duyck <alexander.duyck@...il.com>, Yunsheng Lin
<linyunsheng@...wei.com>, brouer@...hat.com, davem@...emloft.net,
pabeni@...hat.com, netdev@...r.kernel.org, linux-kernel@...r.kernel.org,
Lorenzo Bianconi <lorenzo@...nel.org>, Yisen Zhuang
<yisen.zhuang@...wei.com>, Salil Mehta <salil.mehta@...wei.com>, Eric
Dumazet <edumazet@...gle.com>, Sunil Goutham <sgoutham@...vell.com>, Geetha
sowjanya <gakula@...vell.com>, Subbaraya Sundeep <sbhatta@...vell.com>,
hariprasad <hkelam@...vell.com>, Saeed Mahameed <saeedm@...dia.com>, Leon
Romanovsky <leon@...nel.org>, Felix Fietkau <nbd@....name>, Ryder Lee
<ryder.lee@...iatek.com>, Shayne Chen <shayne.chen@...iatek.com>, Sean Wang
<sean.wang@...iatek.com>, Kalle Valo <kvalo@...nel.org>, Matthias Brugger
<matthias.bgg@...il.com>, AngeloGioacchino Del Regno
<angelogioacchino.delregno@...labora.com>, Jesper Dangaard Brouer
<hawk@...nel.org>, Ilias Apalodimas <ilias.apalodimas@...aro.org>,
linux-rdma@...r.kernel.org, linux-wireless@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org, linux-mediatek@...ts.infradead.org
Subject: Re: [PATCH net-next v4 4/5] page_pool: remove PP_FLAG_PAGE_FRAG
flag
On Fri, 16 Jun 2023 20:59:12 +0200 Jesper Dangaard Brouer wrote:
> + if (mem_type == MEM_TYPE_PP_NETMEM)
> + pp_netmem_put_page(pp, page, allow_direct);
> + else
> + page_pool_put_full_page(pp, page, allow_direct);
Interesting, what is the netmem type? I was thinking about extending
page pool for other mem providers and what came to mind was either
optionally replacing the free / alloc with a function pointer:
https://github.com/torvalds/linux/commit/578ebda5607781c0abb26c1feae7ec8b83840768
or wrapping the PP calls with static inlines which can direct to
a different implementation completely (like zctap / io_uring zc).
Former is better for huge pages, latter is better for IO mem
(peer-to-peer DMA). I wonder if you have different use case which
requires a different model :(
Powered by blists - more mailing lists