drm/xe: Userptr update
Compare changes
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.
Our infrastructure migration is complete. Please remember to update your SSH remote to point to ssh.gitlab.freedesktop.org; SSH to the old hostname will time out. You should not see any problems apart from that. Please let us know if you do have any other issues.
This started out trying to fix issue #130 (closed) by grabbing the userptr notifier_lock across page-table updates. That turned out to be a little involved, but worked out and that means we now can Zap fault mode PTEs under userptr seqlock in write mode, so no need to keep the usm leaves anymore, those are ditched.
PVC testing in fault mode hasn't been done, but I've tried to enable the pte zapper without fault mode and it appears to work as expected but of course we don't see any faults since relevant engines are all idle at that point.
Finally checking for userptr invalidations is made O(1) in the last commit, based on the same algorithm used in i915.
v2:
v3:
v4: