[PATCH 0/3] drm: omapdrm: Fix excessive GEM buffers DMM/CMA usage
Ivaylo Dimitrov
ivo.g.dimitrov.75 at gmail.com
Mon Feb 14 07:08:35 UTC 2022
gentle ping
On 19.01.22 г. 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(-)
>
More information about the dri-devel
mailing list