vfio/type1: Restore mapping performance with mdev support
authorAlex Williamson <alex.williamson@redhat.com>
Fri, 30 Dec 2016 15:13:31 +0000 (08:13 -0700)
committerAlex Williamson <alex.williamson@redhat.com>
Fri, 30 Dec 2016 15:13:31 +0000 (08:13 -0700)
commit6c38c055cc4c0a5da31873d173b2de3085f43f33
tree7ee6dbae330d1012749ea9985b36d4df68bf8f3a
parent08c1a4ef7cccd5632526be923c5b6eaca59d8b01
vfio/type1: Restore mapping performance with mdev support

As part of the mdev support, type1 now gets a task reference per
vfio_dma and uses that to get an mm reference for the task while
working on accounting.  That's correct, but it's not fast.  For some
paths, like vfio_pin_pages_remote(), we know we're only called from
user context, so we can restore the lighter weight calls.  In other
cases, we're effectively already testing whether we're in the stored
task context elsewhere, extend this vfio_lock_acct() as well.

Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
Reviewed by: Kirti Wankhede <kwankhede@nvidia.com>
drivers/vfio/vfio_iommu_type1.c