Hi Thomas, On Mon, 31 Mar 2025 09:13:59 +0200 Thomas Zimmermann <tzimmerm...@suse.de> wrote:
> Hi > > Am 26.03.25 um 03:14 schrieb Adrián Larumbe: > > This patch series is a proposal for implementing sparse page allocations > > for shmem objects. It was initially motivated by a kind of BO managed by > > the Panfrost driver, the tiler heap, which grows on demand every time the > > GPU faults on a virtual address within its drm_mm-managed ranged. > > I've looked at panfrost_gem.h and found that the driver's gem structure > has grown quite a bit. It seems to have outgrown gem-shmem already. I > think you should consider pulling a copy of gem-shmem into the driver > and building a dedicated memory manager on top. Actually, it's not just something we need for panfrost. I plan to use the same non-blocking allocation mechanism for panthor's heap chunks/buffers, and lima could use it for its heap buffers too. The non-blocking page allocation is also something i915 has been open-coding here [1], and I believe that some of this logic could (and should IMHO) live in common code rather than each driver coming with its own solution, thus increasing the risk of bugs/inconsistencies. That's even more important if we provide a common gem-shmem shrinker like Dmitry's has been proposing. Best Regards, Boris [1]https://elixir.bootlin.com/linux/v6.13.7/source/drivers/gpu/drm/i915/gem/i915_gem_shmem.c#L89