Due to an influx of spam, we have had to impose restrictions on new accounts. Please see this wiki page for instructions on how to get full permissions. Sorry for the inconvenience.
The migration is almost done, at least the rest should happen in the background. There are still a few technical difference between the old cluster and the new ones, and they are summarized in this issue. Please pay attention to the TL:DR at the end of the comment.
Conversion to DRM GPU VA Manager, and adding support for Vulkan Sparse Memory in the form of:
VM_BIND
submitqueue type for executing VM MSM_SUBMIT_BO_OP_MAP
/MAP_NULL
/UNMAP
commandsSUBMIT
ioctl to allow submitting batches of one or more MAP
/MAP_NULL
/UNMAP
commands to a VM_BIND
submitqueueThe UABI takes a slightly different approach from what other drivers have done, and what would make sense if starting from a clean sheet, ie separate VM_BIND
and EXEC
ioctls. But since we have to maintain support for the existing SUBMIT
ioctl, and because the fence, syncobj, and BO pinning is largely the same between legacy "BO-table" style SUBMIT
ioctls, and new-style VM updates submitted to a VM_BIND
submitqueue, I chose to go the route of extending the existing SUBMIT
ioctl rather than adding a new ioctl.
I also did not implement support for synchronous VM_BIND
commands. Since
userspace could just immediately wait for the SUBMIT
to complete, I don't
think we need this extra complexity in the kernel. Synchronous/immediate
VM_BIND
operations could be implemented with a 2nd VM_BIND
submitqueue.
The corresponding mesa MR: mesa/mesa!32533
This MR can be found in patch form if you prefer: https://patchwork.freedesktop.org/series/142263/