On 9/30/19 9:40 PM, Henri Verbeet wrote:
On Mon, 30 Sep 2019 at 17:48, Hans-Kristian Arntzen post@arntzen-software.no wrote:
The GPU VA allocator was allocating memory in a way where dereferencing GPU VA required a lock + bsearch to find the right VA range.
Rather than going this route, we turn the common case into O(1) and lockless by creating a slab allocator which allows us to lookup a ptr directly from GPU VA with (VA - Base) / PageSize.
The number of allocations in the fast path must be limited since we cannot trivially grow the allocator while remaining lock-free for dereferences.
I need to review this in more detail, but on first sight it makes sense.
Any updates on this and the follow-up 6/6 patch? They were marked as superseded on the list for some reason, but that's wrong.
Cheers, Hans-Kristian