[Mesa-dev] [PATCH 06/10] i965: Add virtual memory allocator infrastructure to brw_bufmgr.

Chris Wilson chris at chris-wilson.co.uk
Fri May 4 07:02:33 UTC 2018


Quoting Kenneth Graunke (2018-05-04 02:12:36)
> This introduces a new fast virtual memory allocator integrated with our
> BO cache bucketing.  For larger objects, it falls back to the simple
> free-list allocator (util_vma).

I wouldn't say fast just yet ;) If you want to explain any advantages,
focus on the lack of relocation processing required in userspace, and
the novel approach of memzones.

Note that you can use user allocated addresses *without* softpin just
fine (suggest an address to the kernel and it will use it, if
empty/idle). That lets you preassign an address and avoid relocations on
the first pass; just without softpin you cannot force the kernel to use
it and so must supply the relocation fixups just in case.

Since you do use NO_RELOC, the kernel should never have to touch the
relocation arrays, and I don't have a profile that makes me worry about
the drm_mm range manager performance.

Hmm, something else to note is that this vma manager works best with
DRI3. Importing a bo for a single frame (and then reimporting it again
for the next frame etc) is unlikely to keep the same vma allocation.
-Chris


More information about the mesa-dev mailing list