[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <a3ed3a2c-86ce-1c85-e8aa-c08b54ad1a43@gmail.com>
Date: Thu, 17 Feb 2022 17:29:39 +0200
From: Ivaylo Dimitrov <ivo.g.dimitrov.75@...il.com>
To: Tomi Valkeinen <tomi.valkeinen@...asonboard.com>, tomba@...nel.org,
airlied@...ux.ie, daniel@...ll.ch
Cc: dri-devel@...ts.freedesktop.org, linux-kernel@...r.kernel.org,
linux-omap@...r.kernel.org, merlijn@...zup.org, tony@...mide.com
Subject: Re: [PATCH 3/3] drm: omapdrm: Do no allocate non-scanout GEMs through
DMM/TILER
On 17.02.22 г. 14:46 ч., Tomi Valkeinen wrote:
> Hi,
>
> On 19/01/2022 12:23, Ivaylo Dimitrov wrote:
>> On devices with DMM, all allocations are done through either DMM or
>> TILER.
>> DMM/TILER being a limited resource means that such allocations will start
>> to fail before actual free memory is exhausted. What is even worse is
>> that
>> with time DMM/TILER space gets fragmented to the point that even if we
>> have
>> enough free DMM/TILER space and free memory, allocation fails because
>> there
>> is no big enough free block in DMM/TILER space.
>>
>> Such failures can be easily observed with OMAP xorg DDX, for example -
>> starting few GUI applications (so buffers for their windows are
>> allocated)
>> and then rotating landscape<->portrait while closing and opening new
>> windows soon results in allocation failures.
>>
>> Fix that by mapping buffers through DMM/TILER only when really needed,
>> like, for scanout buffers.
>
> Doesn't this break users that get a buffer from omapdrm and expect it to
> be contiguous?
>
If you mean dumb buffer, then no, this does not break users as dumb
buffers are allocated as scanout:
https://elixir.bootlin.com/linux/latest/source/drivers/gpu/drm/omapdrm/omap_gem.c#L603
If you mean omap_bo allocated buffers, then if users want
linear(scanout) buffer, then they request it explicitly by passing
OMAP_BO_SCANOUT.
Ivo
Powered by blists - more mailing lists