[PATCH 0/3] drm: omapdrm: Fix excessive GEM buffers DMM/CMA usage
Tomi Valkeinen
tomi.valkeinen at ideasonboard.com
Mon Mar 28 09:46:16 UTC 2022
Hi,
On 19/01/2022 12:23, Ivaylo Dimitrov wrote:
> This patch series fixes excessive DMM or CMA usage of GEM buffers leading to
> various runtime allocation failures. The series enables daily usage of devices
> without exausting limited resources like CMA or DMM space if GPU rendering is
> needed.
>
> The first patch doesn't bring any functional changes, it just moves some
> TILER/DMM related code to a separate function, to simplify the review of the
> next two patches.
>
> The second patch allows off-CPU rendering to non-scanout buffers. Without that
> patch, it is basically impossible to use the driver allocated GEM buffers on
> OMAP3 for anything else but a basic CPU rendered examples as if we want GPU
> rendering, we must allocate buffers as scanout buffers, which are CMA allocated.
> CMA soon gets fragmented and we start seeing allocation failures. Such failres
> in Xorg cannot be handeled gracefully, so the system is basically unusable.
>
> Third patch fixes similar issue on OMAP4/5, where DMM/TILER spaces get
> fragmented with time, leading to allocation failures.
>
> Series were tested on Motolola Droid4 and Nokia N900, with OMAP DDX and
> PVR EXA from https://github.com/maemo-leste/xf86-video-omap
>
> Ivaylo Dimitrov (3):
> drm: omapdrm: simplify omap_gem_pin
> drm: omapdrm: Support exporting of non-contiguous GEM BOs
> drm: omapdrm: Do no allocate non-scanout GEMs through DMM/TILER
>
> drivers/gpu/drm/omapdrm/omap_gem.c | 198 +++++++++++++++++-------------
> drivers/gpu/drm/omapdrm/omap_gem.h | 3 +-
> drivers/gpu/drm/omapdrm/omap_gem_dmabuf.c | 5 +-
> 3 files changed, 116 insertions(+), 90 deletions(-)
>
I have pushed this to drm-misc-next.
Tomi
More information about the dri-devel
mailing list