Re: [RFC v2 1/2] dmapool: Move pool metadata into non-DMA memory

From: Brian Johannesmeyer
Date: Thu Nov 21 2024 - 12:48:48 EST


On Wed, Nov 20, 2024 at 10:03 PM Christoph Hellwig <hch@xxxxxxxxxxxxx> wrote:
> Indeed. You'd probably need to split the linkage of the pages into
> a list of those that have free blocks and those that don't as a minimum.
>
> Can you share your current version?

Sure, I can share the current version, though fair warning---it’s
still quite messy.

FWIW, I wonder if the bitmap approach might be more suitable as a
separate RFC. AFAICT, the primary issue with the currently submitted
patches is their runtime overhead. I’ve proposed a way to address this
in my recent response to [RFC v2 0/2]. Unfortunately, as I noted,
improving the memory overhead without worsening the runtime
performance is challenging---for example, removing the `next_block`
pointers would require iterating over all pages to find a free
`block`, which significantly impacts the runtime.

That said, how would you prefer I share my bitmap approach? Should I
submit it as a separate patch series or provide the patch directly in
this thread?

Thanks,

Brian Johannesmeyer