Re: [PATCH 2/3] xfs: use folios in the buffer cache

Christoph Hellwig
2024-01-22T06:39:15Z

On Thu, Jan 18, 2024 at 05:26:24PM -0800, Darrick J. Wong wrote:
> Ugh, pointer casting. I suppose here is where we might want an
> alloc_folio_bulk_array that might give us successively smaller
> large-folios until b_page_count is satisfied? (Maybe that's in the next
> patch?)
>
> I guess you'd also need a large-folio capable vm_map_ram.

We need to just stop using vm_map_ram, there is no reason to do that
even right now. It was needed when we used the page cache to back
pagebuf, but these days just sing vmalloc is the right thing for
!unmapped buffers that can't use large folios. And I'm seriously
wondering if we should bother with unmapped buffers in the long run
if we end up normally using larger folios or just consolidate down to:

- kmalloc for buffers < PAGE_SIZE
- folio for buffers >= PAGE_SIZE
- vmalloc if allocation a larger folios is not possible