All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ivaylo Dimitrov <ivo.g.dimitrov.75@gmail.com>
To: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>,
	tomba@kernel.org, airlied@linux.ie, daniel@ffwll.ch
Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org,
	linux-omap@vger.kernel.org, merlijn@wizzup.org, tony@atomide.com
Subject: Re: [PATCH 3/3] drm: omapdrm: Do no allocate non-scanout GEMs through DMM/TILER
Date: Thu, 17 Feb 2022 17:29:39 +0200	[thread overview]
Message-ID: <a3ed3a2c-86ce-1c85-e8aa-c08b54ad1a43@gmail.com> (raw)
In-Reply-To: <5b6d3e7f-c638-fdc7-5080-44d34abed610@ideasonboard.com>



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

WARNING: multiple messages have this Message-ID (diff)
From: Ivaylo Dimitrov <ivo.g.dimitrov.75@gmail.com>
To: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>,
	tomba@kernel.org, airlied@linux.ie, daniel@ffwll.ch
Cc: tony@atomide.com, merlijn@wizzup.org, linux-omap@vger.kernel.org,
	linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org
Subject: Re: [PATCH 3/3] drm: omapdrm: Do no allocate non-scanout GEMs through DMM/TILER
Date: Thu, 17 Feb 2022 17:29:39 +0200	[thread overview]
Message-ID: <a3ed3a2c-86ce-1c85-e8aa-c08b54ad1a43@gmail.com> (raw)
In-Reply-To: <5b6d3e7f-c638-fdc7-5080-44d34abed610@ideasonboard.com>



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

  reply	other threads:[~2022-02-17 15:29 UTC|newest]

Thread overview: 70+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-01-19 10:23 [PATCH 0/3] drm: omapdrm: Fix excessive GEM buffers DMM/CMA usage Ivaylo Dimitrov
2022-01-19 10:23 ` Ivaylo Dimitrov
2022-01-19 10:23 ` [PATCH 1/3] drm: omapdrm: simplify omap_gem_pin Ivaylo Dimitrov
2022-01-19 10:23   ` Ivaylo Dimitrov
2022-01-19 10:23 ` [PATCH 2/3] drm: omapdrm: Support exporting of non-contiguous GEM BOs Ivaylo Dimitrov
2022-01-19 10:23   ` Ivaylo Dimitrov
2022-01-19 10:23 ` [PATCH 3/3] drm: omapdrm: Do no allocate non-scanout GEMs through DMM/TILER Ivaylo Dimitrov
2022-01-19 10:23   ` Ivaylo Dimitrov
2022-02-17 12:46   ` Tomi Valkeinen
2022-02-17 12:46     ` Tomi Valkeinen
2022-02-17 15:29     ` Ivaylo Dimitrov [this message]
2022-02-17 15:29       ` Ivaylo Dimitrov
2022-08-12  4:35       ` Yongqin Liu
2022-08-12  4:35         ` Yongqin Liu
2022-08-13  6:58         ` Ivaylo Dimitrov
2022-08-13  6:58           ` Ivaylo Dimitrov
2022-08-14 14:27           ` Yongqin Liu
2022-08-14 14:27             ` Yongqin Liu
2022-08-15  6:23             ` Ivaylo Dimitrov
2022-08-15  6:23               ` Ivaylo Dimitrov
2022-08-17  4:52               ` Yongqin Liu
2022-08-17  4:52                 ` Yongqin Liu
2022-08-18 10:23                 ` Ivaylo Dimitrov
2022-08-18 10:23                   ` Ivaylo Dimitrov
2022-08-29  2:51                   ` Yongqin Liu
2022-08-29  2:51                     ` Yongqin Liu
2022-08-29 13:24                     ` Ivaylo Dimitrov
2022-08-29 13:24                       ` Ivaylo Dimitrov
2022-08-29 14:36                       ` Andrew Davis
2022-08-29 14:36                         ` Andrew Davis
2022-08-30 15:08                         ` Yongqin Liu
2022-08-30 15:08                           ` Yongqin Liu
2022-08-30 18:08                           ` Ivaylo Dimitrov
2022-08-30 18:08                             ` Ivaylo Dimitrov
2022-08-30 18:23                             ` Tomi Valkeinen
2022-08-30 18:23                               ` Tomi Valkeinen
2022-09-02 14:13                               ` Ivaylo Dimitrov
2022-09-02 14:13                                 ` Ivaylo Dimitrov
2022-10-30 22:08   ` H. Nikolaus Schaller
2022-10-30 22:08     ` H. Nikolaus Schaller
2022-10-31  7:05     ` Ivaylo Dimitrov
2022-10-31  7:05       ` Ivaylo Dimitrov
2022-10-31  7:44       ` H. Nikolaus Schaller
2022-10-31  7:44         ` H. Nikolaus Schaller
2022-10-31  7:57         ` H. Nikolaus Schaller
2022-10-31  7:57           ` H. Nikolaus Schaller
2022-10-31  9:58           ` Ivaylo Dimitrov
2022-10-31  9:58             ` Ivaylo Dimitrov
2022-10-31 10:07             ` H. Nikolaus Schaller
2022-10-31 10:07               ` H. Nikolaus Schaller
2022-10-31 10:13       ` Tony Lindgren
2022-10-31 10:13         ` Tony Lindgren
2022-10-31 10:30         ` Ivaylo Dimitrov
2022-10-31 10:30           ` Ivaylo Dimitrov
2022-10-31 11:14         ` Ivaylo Dimitrov
2022-10-31 11:14           ` Ivaylo Dimitrov
2022-02-14  7:08 ` [PATCH 0/3] drm: omapdrm: Fix excessive GEM buffers DMM/CMA usage Ivaylo Dimitrov
2022-02-14  7:08   ` Ivaylo Dimitrov
2022-02-16  8:10 ` Thomas Zimmermann
2022-02-16  8:10   ` Thomas Zimmermann
2022-02-17 13:03 ` Tomi Valkeinen
2022-02-17 13:03   ` Tomi Valkeinen
2022-02-17 16:21   ` Ivaylo Dimitrov
2022-02-17 16:21     ` Ivaylo Dimitrov
2022-03-08  8:51     ` Tomi Valkeinen
2022-03-08  8:51       ` Tomi Valkeinen
2022-03-28  9:46 ` Tomi Valkeinen
2022-03-28  9:46   ` Tomi Valkeinen
2022-03-28 15:30   ` Ivaylo Dimitrov
2022-03-28 15:30     ` Ivaylo Dimitrov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=a3ed3a2c-86ce-1c85-e8aa-c08b54ad1a43@gmail.com \
    --to=ivo.g.dimitrov.75@gmail.com \
    --cc=airlied@linux.ie \
    --cc=daniel@ffwll.ch \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=merlijn@wizzup.org \
    --cc=tomba@kernel.org \
    --cc=tomi.valkeinen@ideasonboard.com \
    --cc=tony@atomide.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.