[PATCH 0/6] Radeon memory management improvements v3

Marek Olšák maraeo at gmail.com
Sat Mar 1 15:56:16 PST 2014


While updating "[PATCH 5/6] drm/radeon: validate relocations in the order determined by userspace" based on feedback, which should have been a harmless change, I discovered that the performance dropped. The problem was that list_add/move from one list to another reversed the list of relocations and the only thing which restored performance was to sort the relocation list with a stable sort. (preserve ordering of buffers whose priorities are equal). The only explanation I've come up with is that the buffers which appear sooner in the list are likely to be used more often by an IB than buffers which appear later in the list. For example, a texture used in all draw commands will most probably be somewhere at the beginning. However, a texture which appears at the end is probably only used in a few last draw commands.

Also, the stats are changed to atomic64_t as discusssed before.

Marek


More information about the dri-devel mailing list