[PATCH 2/2] drm/vram-helper: Alternate between bottom-up and top-down placement

Thomas Zimmermann tzimmermann at suse.de
Fri Apr 24 06:27:34 UTC 2020


Hi Christian

Am 23.04.20 um 17:04 schrieb Christian König:
> Hi guys,
> 
> one thing you don't seem to have considered yet is that not setting the
> top-down flag also won't get you the bottom-up approach, but rather the
> best fit.

Kind of unrelated: Would it pick the smallest free area that can hold a
BO? IOW, would a small cursor BO fill up a small free area even if
there's a much larger free area somewhere?


> 
> Additional to that the top-down allocations have quite a bit more CPU
> overhead since they don't walk the size tree, but the address tree in
> search for a fitting hole. Nirmoy is currently working on improving this.

I'm not worried about that. Compositors alternate between only two
framebuffer instances. Once their BOs have been placed, they remain in vram.


> 
> Am 23.04.20 um 15:57 schrieb Gerd Hoffmann:
>>> But cursor BOs are small, so they don't make much of a difference. What
>>> is needed is space for 2 primary framebuffers during pageflips, with one
>>> of them pinned. The other framebuffer can be located anywhere.
>> The problem isn't the size.  The problem is dynamically allocated cursor
>> BOs can also fragment vram, especially if top-bottom allocation is also
>> used for large framebuffers so cursor BOs can end up somewhere in the
>> middle of vram.
> 
> Well maybe instead of a ping/pong approach between top and bottom use a
> size based approach to place small BOs at the top and only the larger
> ones at the bottom (or the other way around).

That's what the current code does and it results in the OOM. Basically,
there's a large BO in the middle of vram and the pageflip's destination
BO does not fit before or after the large one.

Best regards
Thomas

> 
> Cheers,
> Christian.
> _______________________________________________
> dri-devel mailing list
> dri-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel

-- 
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Maxfeldstr. 5, 90409 Nürnberg, Germany
(HRB 36809, AG Nürnberg)
Geschäftsführer: Felix Imendörffer

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: OpenPGP digital signature
URL: <https://lists.freedesktop.org/archives/dri-devel/attachments/20200424/b6bbf0e8/attachment.sig>


More information about the dri-devel mailing list