Thread (32 messages) 32 messages, 4 authors, 2023-08-29

Re: [PATCH net-next v7 1/6] page_pool: frag API support for 32-bit arch with 64-bit DMA

From: Ilias Apalodimas <ilias.apalodimas@linaro.org>
Date: 2023-08-17 17:00:51
Also in: lkml

Hi Jakub,

On Thu, 17 Aug 2023 at 19:15, Jakub Kicinski [off-list ref] wrote:
On Thu, 17 Aug 2023 16:57:16 +0300 Ilias Apalodimas wrote:
quoted
Why should we care about this?  Even an architecture that's 32-bit and
has a 64bit DMA should be allowed to split the pages internally if it
decides to do so.  The trick that drivers usually do is elevate the
page refcnt and deal with that internally.
Can we assume the DMA mapping of page pool is page aligned? We should
be, right?
Yes
That means we're storing 12 bits of 0 at the lower end.
So even with 32b of space we can easily store addresses for 32b+12b =>
16TB of memory. "Ought to be enough" to paraphrase Bill G, and the
problem is only in our heads?
Do you mean moving the pp_frag_count there?  I was questioning the
need to have PP_FLAG_PAGE_SPLIT_IN_DRIVER overall.  With Yunshengs
patches such a platform would allocate a page, so why should we
prevent it from splitting it internally?

Thanks
/Ilias
Before we go that way - Mina, are the dma-buf "chunks" you're working
with going to be fragment-able? Or rather can driver and/or core take
multiple references on a single buffer?
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help