[RFC] Avoid quadratic behavior in relocs/cs
Mathias Fröhlich
Mathias.Froehlich at gmx.net
Thu May 27 22:22:56 PDT 2010
Hi,
Attached is a change to the radeon reloc emitting code, that stores the reloc
index in the buffer object. This avoids quadratic runtime behavior in the
number of emitted buffer object relocs per command stream.
The reloc index is held in an array indexed by command stream number, which
means that it should be safe to use with multiple command stream objects in
place.
The patch itself is bigger than needed since it reindents the 'buffer object
already has an index' case in cs_gem_write_reloc.
This change is driven by cs_gem_write_reloc already showing up noticable in
profiles of some of my use cases.
Comments?
By the way, it appears to me that space_accounted should be also a per command
stream member of the buffer object. True?
Greetings
Mathias
-------------- next part --------------
A non-text attachment was scrubbed...
Name: reloc-index-search.diff
Type: text/x-patch
Size: 9911 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/dri-devel/attachments/20100528/cb3d7a05/attachment-0001.bin>
More information about the dri-devel
mailing list