Message ID | 20220706062759.24946-1-nicolinc@nvidia.com (mailing list archive) |
---|---|
Headers | show |
Series | Update vfio_pin/unpin_pages API | expand |
> From: Nicolin Chen > Sent: Wednesday, July 6, 2022 2:28 PM > > This is a preparatory series for IOMMUFD v2 patches. It prepares for > replacing vfio_iommu_type1 implementations of vfio_pin/unpin_pages() > with IOMMUFD version. > > There's a gap between these two versions: the vfio_iommu_type1 version > inputs a non-contiguous PFN list and outputs another PFN list for the > pinned physical page list, while the IOMMUFD version only supports a > contiguous address input by accepting the starting IO virtual address > of a set of pages to pin and by outputting to a physical page list. > > The nature of existing callers mostly aligns with the IOMMUFD version, > except s390's vfio_ccw_cp code where some additional change is needed > along with this series. Overall, updating to "iova" and "phys_page" > does improve the caller side to some extent. > > Also fix a misuse of physical address and virtual address in the s390's > crypto code. And update the input naming at the adjacent vfio_dma_rw(). > > This is on github: > https://github.com/nicolinc/iommufd/commits/vfio_pin_pages > > Request for testing: I only did build for s390 and i915 code, so it'd > be nice to have people who have environment to run sanity accordingly. > +Terrence who is testing it for i915 now...
On Thu, Jul 07, 2022 at 06:08:45AM +0000, Tian, Kevin wrote: > > Request for testing: I only did build for s390 and i915 code, so it'd > > be nice to have people who have environment to run sanity accordingly. > > > > +Terrence who is testing it for i915 now... Hi Terrence, would it be possible for you to pull v3 to test on? https://github.com/nicolinc/iommufd/commits/dev/vfio_pin_pages-v3 They are basically same but there's a new DIV_ROUND_UP change, which shouldn't result in any functional difference, IMHO. If v3 passes, I can simply add your Tested-by when I respin it. Thanks Nic
> -----Original Message----- > From: intel-gvt-dev <intel-gvt-dev-bounces@lists.freedesktop.org> On Behalf Of > On Thu, Jul 07, 2022 at 06:08:45AM +0000, Tian, Kevin wrote: > > > > Request for testing: I only did build for s390 and i915 code, so > > > it'd be nice to have people who have environment to run sanity accordingly. > > > > > > > +Terrence who is testing it for i915 now... > > Hi Terrence, would it be possible for you to pull v3 to test on? > https://github.com/nicolinc/iommufd/commits/dev/vfio_pin_pages-v3 > > They are basically same but there's a new DIV_ROUND_UP change, which > shouldn't result in any functional difference, IMHO. If > v3 passes, I can simply add your Tested-by when I respin it. Hi Nicolin, I already completed KVMGT key feature testing based on your v3 repo, VM booted up successfully and run smoothly, but there is a call trace during each time VM booting up, as the attachment.
On Fri, Jul 08, 2022 at 07:24:30AM +0000, Xu, Terrence wrote: > External email: Use caution opening links or attachments > > > > -----Original Message----- > > From: intel-gvt-dev <intel-gvt-dev-bounces@lists.freedesktop.org> On Behalf Of > > On Thu, Jul 07, 2022 at 06:08:45AM +0000, Tian, Kevin wrote: > > > > > > Request for testing: I only did build for s390 and i915 code, so > > > > it'd be nice to have people who have environment to run sanity accordingly. > > > > > > > > > > +Terrence who is testing it for i915 now... > > > > Hi Terrence, would it be possible for you to pull v3 to test on? > > https://github.com/nicolinc/iommufd/commits/dev/vfio_pin_pages-v3 > > > > They are basically same but there's a new DIV_ROUND_UP change, which > > shouldn't result in any functional difference, IMHO. If > > v3 passes, I can simply add your Tested-by when I respin it. > > Hi Nicolin, I already completed KVMGT key feature testing based on > your v3 repo, VM booted up successfully and run smoothly, but there > is a call trace during each time VM booting up, as the attachment. Nice! Thank you for the testing. I will add your Tested-by in v3.
On Tue, 2022-07-05 at 23:27 -0700, Nicolin Chen wrote: > This is a preparatory series for IOMMUFD v2 patches. It prepares for > replacing vfio_iommu_type1 implementations of vfio_pin/unpin_pages() > with IOMMUFD version. > > There's a gap between these two versions: the vfio_iommu_type1 > version > inputs a non-contiguous PFN list and outputs another PFN list for the > pinned physical page list, while the IOMMUFD version only supports a > contiguous address input by accepting the starting IO virtual address > of a set of pages to pin and by outputting to a physical page list. > > The nature of existing callers mostly aligns with the IOMMUFD > version, > except s390's vfio_ccw_cp code where some additional change is needed > along with this series. Overall, updating to "iova" and "phys_page" > does improve the caller side to some extent. > > Also fix a misuse of physical address and virtual address in the > s390's > crypto code. And update the input naming at the adjacent > vfio_dma_rw(). > > This is on github: > https://github.com/nicolinc/iommufd/commits/vfio_pin_pages > > Request for testing: I only did build for s390 and i915 code, so it'd > be nice to have people who have environment to run sanity > accordingly. Tested-by: Eric Farman <farman@linux.ibm.com> # s390 > > Thanks! > > Changelog > v2: > * Added a patch to make vfio_unpin_pages return void > * Added two patches to remove PFN list from two s390 callers > * Renamed "phys_page" parameter to "pages" for vfio_pin_pages > * Updated commit log of kmap_local_page() patch > * Added Harald's "Reviewed-by" to pa_ind patch > * Rebased on top of Alex's extern removal path > v1: > https://lore.kernel.org/kvm/20220616235212.15185-1-nicolinc@nvidia.com/ > > Nicolin Chen (9): > vfio: Make vfio_unpin_pages() return void > vfio/ap: Pass in physical address of ind to ap_aqic() > vfio/ccw: Only pass in contiguous pages > vfio: Pass in starting IOVA to vfio_pin/unpin_pages API > vfio/ap: Remove redundant pfn > vfio/ccw: Change pa_pfn list to pa_iova list > vfio: Rename user_iova of vfio_dma_rw() > vfio/ccw: Add kmap_local_page() for memcpy > vfio: Replace phys_pfn with pages for vfio_pin_pages() > > .../driver-api/vfio-mediated-device.rst | 6 +- > arch/s390/include/asm/ap.h | 6 +- > drivers/gpu/drm/i915/gvt/kvmgt.c | 46 ++--- > drivers/s390/cio/vfio_ccw_cp.c | 195 +++++++++++----- > -- > drivers/s390/crypto/ap_queue.c | 2 +- > drivers/s390/crypto/vfio_ap_ops.c | 54 +++-- > drivers/s390/crypto/vfio_ap_private.h | 4 +- > drivers/vfio/vfio.c | 55 +++-- > drivers/vfio/vfio.h | 8 +- > drivers/vfio/vfio_iommu_type1.c | 46 +++-- > include/linux/vfio.h | 9 +- > 11 files changed, 218 insertions(+), 213 deletions(-) >
On Fri, Jul 08, 2022 at 04:30:32PM -0400, Eric Farman wrote: > External email: Use caution opening links or attachments > > > On Tue, 2022-07-05 at 23:27 -0700, Nicolin Chen wrote: > > This is a preparatory series for IOMMUFD v2 patches. It prepares for > > replacing vfio_iommu_type1 implementations of vfio_pin/unpin_pages() > > with IOMMUFD version. > > > > There's a gap between these two versions: the vfio_iommu_type1 > > version > > inputs a non-contiguous PFN list and outputs another PFN list for the > > pinned physical page list, while the IOMMUFD version only supports a > > contiguous address input by accepting the starting IO virtual address > > of a set of pages to pin and by outputting to a physical page list. > > > > The nature of existing callers mostly aligns with the IOMMUFD > > version, > > except s390's vfio_ccw_cp code where some additional change is needed > > along with this series. Overall, updating to "iova" and "phys_page" > > does improve the caller side to some extent. > > > > Also fix a misuse of physical address and virtual address in the > > s390's > > crypto code. And update the input naming at the adjacent > > vfio_dma_rw(). > > > > This is on github: > > https://github.com/nicolinc/iommufd/commits/vfio_pin_pages > > > > Request for testing: I only did build for s390 and i915 code, so it'd > > be nice to have people who have environment to run sanity > > accordingly. > > Tested-by: Eric Farman <farman@linux.ibm.com> # s390 Thank you for the review and test!