[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20230711133915.03482fdc@kernel.org>
Date: Tue, 11 Jul 2023 13:39:15 -0700
From: Jakub Kicinski <kuba@...nel.org>
To: Mina Almasry <almasrymina@...gle.com>
Cc: David Ahern <dsahern@...nel.org>, Jason Gunthorpe <jgg@...pe.ca>,
Christoph Hellwig <hch@....de>, John Hubbard <jhubbard@...dia.com>, Dan
Williams <dan.j.williams@...el.com>, Jesper Dangaard Brouer
<jbrouer@...hat.com>, brouer@...hat.com, Alexander Duyck
<alexander.duyck@...il.com>, Yunsheng Lin <linyunsheng@...wei.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, Jonathan Lemon
<jonathan.lemon@...il.com>
Subject: Re: Memory providers multiplexing (Was: [PATCH net-next v4 4/5]
page_pool: remove PP_FLAG_PAGE_FRAG flag)
On Tue, 11 Jul 2023 10:06:28 -0700 Mina Almasry wrote:
> > > Any reason not to allow an alternative representation for skb frags than
> > > struct page?
> >
> > I don't think there's a hard technical reason. We can make it work.
>
> I also think we can switch the representation for skb frags to
> something else. However - please do correct me if I'm wrong - I don't
> think that is sufficient for device memory TCP. My understanding is
> that we also need to modify any NIC drivers that want to use device
> memory TCP to understand a new memory type, and the page pool as well
> if that's involved. I think in particular modifying the memory type in
> all the NIC drivers that want to do device memory TCP is difficult. Do
> you think this is feasible?
That's why I was thinking about adding an abstraction between
the page pool and the driver. Instead of feeding driver pages
a new abstraction could feed the driver just an identifier and a PA.
Whether we want to support fragmentation in that model or not would
have to be decided.
We can take pages from the page pool and feed them to drivers via
such an API, but drivers need to stop expecting pages.
That's for data buffers only, obviously. We can keep using pages
and raw page pool for headers.
Powered by blists - more mailing lists