Re: [PATCH 3/3] drm: omapdrm: Do no allocate non-scanout GEMs through DMM/TILER

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





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



[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux