virtualization.lists.linux-foundation.org archive mirror
 help / color / mirror / Atom feed
From: Thomas Zimmermann <tzimmermann@suse.de>
To: Boris Brezillon <boris.brezillon@collabora.com>
Cc: simona@ffwll.ch, airlied@gmail.com, mripard@kernel.org,
	maarten.lankhorst@linux.intel.com, ogabbay@kernel.org,
	mamin506@gmail.com, lizhi.hou@amd.com,
	maciej.falkowski@linux.intel.com,
	karol.wachowski@linux.intel.com, tomeu@tomeuvizoso.net,
	frank.binns@imgtec.com, matt.coster@imgtec.com, yuq825@gmail.com,
	robh@kernel.org, steven.price@arm.com,
	adrian.larumbe@collabora.com, liviu.dudau@arm.com,
	mwen@igalia.com, kraxel@redhat.com,
	dmitry.osipenko@collabora.com, gurchetansingh@chromium.org,
	olvaffe@gmail.com, corbet@lwn.net,
	dri-devel@lists.freedesktop.org, lima@lists.freedesktop.org,
	virtualization@lists.linux.dev, linux-doc@vger.kernel.org
Subject: Re: [RFC][PATCH 00/13] drm: Introduce GEM-UMA memory management
Date: Wed, 10 Dec 2025 10:57:05 +0100	[thread overview]
Message-ID: <f7ebd77f-8a30-4e65-8871-ad5915c310f5@suse.de> (raw)
In-Reply-To: <20251210102157.76f4ec8f@fedora>

Hi

Am 10.12.25 um 10:21 schrieb Boris Brezillon:
[...]
> n that, I agree.
>
>> Also what stops you from fixing any of this in the context of gem-uma?
> That's exactly what I want to do, except that, rather than fixing it,
> I'd like to get it right from the start and progressively move existing
> GPU/accel drivers using gem-shmem to gem-uma. If you blindly move every
> GPU/accel drivers currently using gem-shmem to gem-uma (which is just a
> rebranded gem-shmem), you're just moving the problem, you're not
> solving it. And all of a sudden, gem-uma, which I wanted to be this

Just to be clear, I'm trying to get the simple drivers out of the way 
first. Nothing more. Solving problems with the UMA drivers is out of 
question wrt this series.

> clean slate with well defined rules, on top of which we can more
> easily add building blocks for advanced stuff (reclaim, sparse
> allocation, ...), is back to this far west.

I've done something similar with GEM VRAM helpers a few years back. We 
had drivers running TTM on cinsiderably simple hardware. They all went 
to VRAM helpers at some point Still that took quite some time. With UMA 
the problem seems more complex and the drivers are moving targets. I 
feel like this will take years until you see the fruits of that work. 
All while you have to maintain GEM's UMA and SHMEM code at the same time.

>
>> It should even be easier, as you won't have to keep my use cases in mind.
> I might be wrong, but KMS use cases are probably not the problematic
> ones.
>
>> In parallel, gem-shmem could go in its own direction.
> My understanding is that you're primarily targeting KMS drivers, so why
> don't you fork gem-shem with something called gem-shmem-for-kms (or
> gem-shmem-dumb) that does just enough for you, and nothing more?
>
> I'm saying that with a bit of sarcasm, and I certainly get how painful
> it is to go and patch all KMS drivers to rename things. But if you think
> about it for a second, it's just as painful (if not more) to fork
> gem-uma in all users that might get in the way of a cleaner
> abstraction. Not only that, but all of a sudden, you need a lot more
> synchronization to get that approved, and until that happens, you're
> blocked on the real stuff: designing something that's sounds for
> more complex use cases GPU/accel drivers care about.

There's nothing sarcastic about that. Forking from GEM SHMEM in the 
'opposite direction' would be the other alternative. I can try to 
provide something like GEM sysmem helpers with a simplified 
implementation of GEM shmem that provides what the simple drivers need.

Best regards
Thomas

>
>> I'd like to do
>> some changes and simplifications there, which conflict with where
>> gem-uma will be heading.
> Just to be clear, I'm not going to block this if that's the direction
> people want to take, but I wanted to point out that making it easier for
> you might mean making others' life harder. When I initially proposed to
> fork gem-shmem it was not with the goal of pulling all current
> GPU/accel users in directly, but rather design something that provides
> the same set of features (with the ability to add more), with better
> defined rules, so we don't end up in the same situation. What you're
> doing here is the opposite: gem-uma becomes the gem-shmem's
> forget-about box, and as a result, it becomes someone else's problem.
>
> Regards,
>
> Boris

-- 
--
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Frankenstr. 146, 90461 Nürnberg, Germany, www.suse.com
GF: Jochen Jaser, Andrew McDonald, Werner Knoblich, (HRB 36809, AG Nürnberg)



      reply	other threads:[~2025-12-10  9:57 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-12-09 13:41 [RFC][PATCH 00/13] drm: Introduce GEM-UMA memory management Thomas Zimmermann
2025-12-09 13:41 ` [PATCH 01/13] drm/gem-shmem: Fix typos in documentation Thomas Zimmermann
2025-12-11 10:00   ` Boris Brezillon
2025-12-11 12:03   ` Thomas Zimmermann
2025-12-09 13:41 ` [PATCH 02/13] drm/gem-shmem: Fix the MODULE_LICENSE() string Thomas Zimmermann
2025-12-11 10:01   ` Boris Brezillon
2025-12-11 12:04   ` Thomas Zimmermann
2025-12-09 13:42 ` [PATCH 03/13] drm: Add GEM-UMA helpers for memory management Thomas Zimmermann
2025-12-09 13:42 ` [PATCH 04/13] drm/gem-uma: Remove unused interfaces Thomas Zimmermann
2025-12-09 13:42 ` [PATCH 05/13] drm/imagination: Use GEM-UMA helpers for memory management Thomas Zimmermann
2025-12-09 13:42 ` [PATCH 06/13] drm/lima: " Thomas Zimmermann
2025-12-09 13:42 ` [PATCH 07/13] drm/panfrost: " Thomas Zimmermann
2025-12-09 13:42 ` [PATCH 08/13] drm/panthor: " Thomas Zimmermann
2025-12-09 13:42 ` [PATCH 09/13] drm/v3d: " Thomas Zimmermann
2025-12-09 13:42 ` [PATCH 10/13] drm/virtgpu: " Thomas Zimmermann
2025-12-09 13:42 ` [PATCH 11/13] accel/amdxdna: " Thomas Zimmermann
2025-12-09 13:42 ` [PATCH 12/13] accel/ivpu: " Thomas Zimmermann
2025-12-09 14:24   ` Karol Wachowski
2025-12-09 14:25   ` Karol Wachowski
2025-12-09 13:42 ` [PATCH 13/13] accel/rocket: " Thomas Zimmermann
2025-12-09 14:27 ` [RFC][PATCH 00/13] drm: Introduce GEM-UMA " Boris Brezillon
2025-12-09 14:51   ` Thomas Zimmermann
2025-12-09 15:30     ` Boris Brezillon
2025-12-10  7:34       ` Thomas Zimmermann
2025-12-10  9:21         ` Boris Brezillon
2025-12-10  9:57           ` Thomas Zimmermann [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=f7ebd77f-8a30-4e65-8871-ad5915c310f5@suse.de \
    --to=tzimmermann@suse.de \
    --cc=adrian.larumbe@collabora.com \
    --cc=airlied@gmail.com \
    --cc=boris.brezillon@collabora.com \
    --cc=corbet@lwn.net \
    --cc=dmitry.osipenko@collabora.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=frank.binns@imgtec.com \
    --cc=gurchetansingh@chromium.org \
    --cc=karol.wachowski@linux.intel.com \
    --cc=kraxel@redhat.com \
    --cc=lima@lists.freedesktop.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=liviu.dudau@arm.com \
    --cc=lizhi.hou@amd.com \
    --cc=maarten.lankhorst@linux.intel.com \
    --cc=maciej.falkowski@linux.intel.com \
    --cc=mamin506@gmail.com \
    --cc=matt.coster@imgtec.com \
    --cc=mripard@kernel.org \
    --cc=mwen@igalia.com \
    --cc=ogabbay@kernel.org \
    --cc=olvaffe@gmail.com \
    --cc=robh@kernel.org \
    --cc=simona@ffwll.ch \
    --cc=steven.price@arm.com \
    --cc=tomeu@tomeuvizoso.net \
    --cc=virtualization@lists.linux.dev \
    --cc=yuq825@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).