This provides equivalent functionality to mmu_notifiers for the subset of functions required by graphics drivers.
I previously discussed mmu notifiers here:
https://lists.freebsd.org/pipermail/freebsd-arch/2016-May/017779.html
The userptr functionality is described in past kernel release notes as follows:
Graphic driver allows mapping of user pages into video memory
By exporting the ability to map user address into the video memory, normal application data can be used as a texture source or even as a render target (depending upon the capabilities of the chipset). This has a number of uses, with zero-copy downloads to the GPU and efficient readback making the intermixed streaming of CPU and GPU operations fairly efficient. This ability has many widespread implications from faster rendering of client-side software rasterisers (chromium), mitigation of stalls due to read back (firefox) and to faster pipelining of texture data (such as pixel buffer objects in GL or data blobs in CL).
I suspect that it's too late to get this in to 11.0. This is here to explain the need for the pointer added in D6695