Thread (22 messages) flat view 22 messages, 7 authors, 2021-02-22

Re: alloc_pages_bulk()

From: Jesper Dangaard Brouer <hidden>
Date: 2021-02-10 11:41:17
Also in: linux-nfs

On Wed, 10 Feb 2021 08:41:55 +0000
Mel Gorman [off-list ref] wrote:
On Tue, Feb 09, 2021 at 11:31:08AM +0100, Jesper Dangaard Brouer wrote:
quoted
quoted
quoted
Neil Brown pointed me to this old thread:

https://lore.kernel.org/lkml/20170109163518.6001-1-mgorman@techsingularity.net/ (local)

We see that many of the prerequisites are in v5.11-rc, but
alloc_page_bulk() is not. I tried forward-porting 4/4 in that
series, but enough internal APIs have changed since 2017 that
the patch does not come close to applying and compiling.  
I forgot that this was never merged.  It is sad as Mel showed huge
improvement with his work.
  
quoted
quoted
I'm wondering:

a) is there a newer version of that work?
  
Mel, why was this work never merged upstream?
  
Lack of realistic consumers to drive it forward, finalise the API and
confirm it was working as expected. It eventually died as a result. If it
was reintroduced, it would need to be forward ported and then implement
at least one user on top.
I guess I misunderstood you back in 2017. I though that I had presented
a clear use-case/consumer in page_pool[1].  But you wanted the code as
part of the patchset I guess.  I though, I could add it later via the
net-next tree.

It seems that Chuck now have a NFS use-case, and Hellwig also have a
use-case for DMA-iommu in __iommu_dma_alloc_pages.

The performance improvement (in above link) were really impressive!

Quote:
 "It's roughly a 50-70% reduction of allocation costs and roughly a halving of the
 overall cost of allocating/freeing batches of pages."

Who have time to revive this patchset?

I can only signup for coding the page_pool usage.
Chuck do you have time if Mel doesn't?

[1] https://github.com/torvalds/linux/blob/master/net/core/page_pool.c#L201-L209
-- 
Best regards,
  Jesper Dangaard Brouer
  MSc.CS, Principal Kernel Engineer at Red Hat
  LinkedIn: http://www.linkedin.com/in/brouer

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help