[PATCH 0/3] drm: omapdrm: Fix excessive GEM buffers DMM/CMA usage

Ivaylo Dimitrov ivo.g.dimitrov.75 at gmail.com
Mon Mar 28 15:30:19 UTC 2022


Hi,

On 28.03.22 г. 12:46 ч., Tomi Valkeinen wrote:
> 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.
> 

Great, next is VRFB and TE support for Droid4 panel, as soon as I find 
some spare time :)

Ivo



More information about the dri-devel mailing list