On Tue, May 06, 2025 at 09:36:38AM +0000, Tian, Kevin wrote: > > From: Nicolin Chen <nicol...@nvidia.com> > > Sent: Saturday, April 26, 2025 1:58 PM > > > > The new vCMDQ object will be added for HW to access the guest memory for > > a > > HW-accelerated virtualization feature. It needs to ensure the guest memory > > pages are pinned when HW accesses them and they are contiguous in > > physical > > address space. > > > > This is very like the existing iommufd_access_pin_pages() that outputs the > > pinned page list for the caller to test its contiguity. > > > > Move those code from iommufd_access_pin/unpin_pages() and related > > function > > for a pair of iopt helpers that can be shared with the vCMDQ allocator. As > > the vCMDQ allocator will be a user-space triggered ioctl function, WARN_ON > > would not be a good fit in the new iopt_unpin_pages(), thus change them to > > use WARN_ON_ONCE instead. > > > > Rename check_area_prot() to align with the existing iopt_area helpers, and > > inline it to the header since iommufd_access_rw() still uses it. > > > > Signed-off-by: Nicolin Chen <nicol...@nvidia.com> > > any reason why this cannot be done by the core? all types of vcmd > queues need to pin the guest buffer pages, no matter the IOMMU > accesses GPA or HPA. > > Jason made a similar comment earlier [1]. > > check of continuity is still done by the driver, if HPA is being accessed. > > [1] https://lore.kernel.org/all/20250424134049.gp1648...@nvidia.com/
But I am doing in the core. I have iopt_pin_pages() called in the core ioctl handler iommufd_vqueue_alloc_ioctl(): https://lore.kernel.org/linux-iommu/1ef2e242ee1d844f823581a5365823d78c67ec6a.1746139811.git.nicol...@nvidia.com/ Thanks Nicolin