[PATCH 1/1] drm/i915: Drop user contexts on device remove
chris at chris-wilson.co.uk
Fri Apr 24 14:09:27 UTC 2020
Quoting Janusz Krzysztofik (2020-04-24 14:47:42)
> Contexts associated with open file descriptors are now closed on file
> close. If a device is removed while being open, DMA API warns about
> device associated mappings still active. Moreover, subsequent removal
> of contexts on device close may trigger a bug in intel-iommu code on
> dma_unmap attempt.
The contexts are not the primary association with dma-mappings. The
objects are dma-mapped independently, what you are doing here is
indirectly releasing the dma-mapping of the ppGTT page directory.
While it seems to be only solving half the problem, automatically
marking the vm as closed on driver_unregister sounds viable. But it
feels like we should just be marking the device as going away and just
ignore all the dma unmapping.
We could do something like set up a dummy dma_map_ops in unregister,
and so discard all the unmaps, report error for further maps, and leave
in place until the next device replaces it. It appears that can be done
with just a blank dma_map_ops. Seems cheeky, but it just might work...
More information about the Intel-gfx-trybot