From: Nicolin Chen <nicolinc@nvidia.com> To: <kwankhede@nvidia.com>, <corbet@lwn.net>, <hca@linux.ibm.com>, <gor@linux.ibm.com>, <agordeev@linux.ibm.com>, <borntraeger@linux.ibm.com>, <svens@linux.ibm.com>, <zhenyuw@linux.intel.com>, <zhi.a.wang@intel.com>, <jani.nikula@linux.intel.com>, <joonas.lahtinen@linux.intel.com>, <rodrigo.vivi@intel.com>, <tvrtko.ursulin@linux.intel.com>, <airlied@linux.ie>, <daniel@ffwll.ch>, <farman@linux.ibm.com>, <mjrosato@linux.ibm.com>, <pasic@linux.ibm.com>, <vneethv@linux.ibm.com>, <oberpar@linux.ibm.com>, <freude@linux.ibm.com>, <akrowiak@linux.ibm.com>, <jjherne@linux.ibm.com>, <alex.williamson@redhat.com>, <cohuck@redhat.com>, <jgg@nvidia.com>, <kevin.tian@intel.com> Cc: <jchrist@linux.ibm.com>, <kvm@vger.kernel.org>, <linux-doc@vger.kernel.org>, <linux-kernel@vger.kernel.org>, <linux-s390@vger.kernel.org>, <intel-gvt-dev@lists.freedesktop.org>, <intel-gfx@lists.freedesktop.org>, <dri-devel@lists.freedesktop.org> Subject: [RFT][PATCH v1 0/6] Update vfio_pin/unpin_pages API Date: Thu, 16 Jun 2022 16:52:06 -0700 [thread overview] Message-ID: <20220616235212.15185-1-nicolinc@nvidia.com> (raw) 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. Thanks! Nicolin Chen (6): 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: Rename user_iova of vfio_dma_rw() vfio/ccw: Add kmap_local_page() for memcpy vfio: Replace phys_pfn with phys_page 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 | 44 ++++----- drivers/s390/cio/vfio_ccw_cp.c | 90 ++++++++++++++----- drivers/s390/crypto/ap_queue.c | 2 +- drivers/s390/crypto/vfio_ap_ops.c | 21 ++--- drivers/vfio/vfio.c | 38 ++++---- drivers/vfio/vfio.h | 6 +- drivers/vfio/vfio_iommu_type1.c | 34 +++---- include/linux/vfio.h | 8 +- 10 files changed, 142 insertions(+), 113 deletions(-) -- 2.17.1
WARNING: multiple messages have this Message-ID (diff)
From: Nicolin Chen <nicolinc@nvidia.com> To: <kwankhede@nvidia.com>, <corbet@lwn.net>, <hca@linux.ibm.com>, <gor@linux.ibm.com>, <agordeev@linux.ibm.com>, <borntraeger@linux.ibm.com>, <svens@linux.ibm.com>, <zhenyuw@linux.intel.com>, <zhi.a.wang@intel.com>, <jani.nikula@linux.intel.com>, <joonas.lahtinen@linux.intel.com>, <rodrigo.vivi@intel.com>, <tvrtko.ursulin@linux.intel.com>, <airlied@linux.ie>, <daniel@ffwll.ch>, <farman@linux.ibm.com>, <mjrosato@linux.ibm.com>, <pasic@linux.ibm.com>, <vneethv@linux.ibm.com>, <oberpar@linux.ibm.com>, <freude@linux.ibm.com>, <akrowiak@linux.ibm.com>, <jjherne@linux.ibm.com>, <alex.williamson@redhat.com>, <cohuck@redhat.com>, <jgg@nvidia.com>, <kevin.tian@intel.com> Cc: linux-s390@vger.kernel.org, kvm@vger.kernel.org, linux-doc@vger.kernel.org, intel-gfx@lists.freedesktop.org, jchrist@linux.ibm.com, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, intel-gvt-dev@lists.freedesktop.org Subject: [RFT][PATCH v1 0/6] Update vfio_pin/unpin_pages API Date: Thu, 16 Jun 2022 16:52:06 -0700 [thread overview] Message-ID: <20220616235212.15185-1-nicolinc@nvidia.com> (raw) 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. Thanks! Nicolin Chen (6): 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: Rename user_iova of vfio_dma_rw() vfio/ccw: Add kmap_local_page() for memcpy vfio: Replace phys_pfn with phys_page 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 | 44 ++++----- drivers/s390/cio/vfio_ccw_cp.c | 90 ++++++++++++++----- drivers/s390/crypto/ap_queue.c | 2 +- drivers/s390/crypto/vfio_ap_ops.c | 21 ++--- drivers/vfio/vfio.c | 38 ++++---- drivers/vfio/vfio.h | 6 +- drivers/vfio/vfio_iommu_type1.c | 34 +++---- include/linux/vfio.h | 8 +- 10 files changed, 142 insertions(+), 113 deletions(-) -- 2.17.1
next reply other threads:[~2022-06-16 23:53 UTC|newest] Thread overview: 75+ messages / expand[flat|nested] mbox.gz Atom feed top 2022-06-16 23:52 Nicolin Chen [this message] 2022-06-16 23:52 ` [RFT][PATCH v1 0/6] Update vfio_pin/unpin_pages API Nicolin Chen 2022-06-16 23:52 ` [RFT][PATCH v1 1/6] vfio/ap: Pass in physical address of ind to ap_aqic() Nicolin Chen 2022-06-16 23:52 ` Nicolin Chen 2022-06-20 10:00 ` Harald Freudenberger 2022-06-20 10:00 ` Harald Freudenberger 2022-06-21 21:01 ` Nicolin Chen 2022-06-21 21:01 ` [Intel-gfx] " Nicolin Chen 2022-06-21 21:01 ` Nicolin Chen 2022-06-16 23:52 ` [RFT][PATCH v1 2/6] vfio/ccw: Only pass in contiguous pages Nicolin Chen 2022-06-16 23:52 ` Nicolin Chen 2022-06-16 23:52 ` [RFT][PATCH v1 3/6] vfio: Pass in starting IOVA to vfio_pin/unpin_pages API Nicolin Chen 2022-06-16 23:52 ` Nicolin Chen 2022-06-17 8:42 ` Christoph Hellwig 2022-06-17 8:42 ` [Intel-gfx] " Christoph Hellwig 2022-06-17 21:57 ` Nicolin Chen 2022-06-17 21:57 ` Nicolin Chen 2022-06-22 1:18 ` Nicolin Chen 2022-06-22 1:18 ` [Intel-gfx] " Nicolin Chen 2022-06-22 1:18 ` Nicolin Chen 2022-06-16 23:52 ` [RFT][PATCH v1 4/6] vfio: Rename user_iova of vfio_dma_rw() Nicolin Chen 2022-06-16 23:52 ` Nicolin Chen 2022-06-16 23:52 ` [RFT][PATCH v1 5/6] vfio/ccw: Add kmap_local_page() for memcpy Nicolin Chen 2022-06-16 23:52 ` Nicolin Chen 2022-06-17 8:44 ` Christoph Hellwig 2022-06-17 8:44 ` [Intel-gfx] " Christoph Hellwig 2022-06-17 21:58 ` Nicolin Chen 2022-06-17 21:58 ` Nicolin Chen 2022-06-20 2:57 ` Jason Gunthorpe 2022-06-20 2:57 ` [Intel-gfx] " Jason Gunthorpe 2022-06-20 2:57 ` Jason Gunthorpe 2022-06-20 6:32 ` Christoph Hellwig 2022-06-20 6:32 ` [Intel-gfx] " Christoph Hellwig 2022-06-20 15:39 ` Jason Gunthorpe 2022-06-20 15:39 ` [Intel-gfx] " Jason Gunthorpe 2022-06-20 15:39 ` Jason Gunthorpe 2022-06-21 21:21 ` Nicolin Chen 2022-06-21 21:21 ` [Intel-gfx] " Nicolin Chen 2022-06-21 21:21 ` Nicolin Chen 2022-06-24 13:56 ` Jason Gunthorpe 2022-06-24 13:56 ` [Intel-gfx] " Jason Gunthorpe 2022-06-24 13:56 ` Jason Gunthorpe 2022-06-24 19:22 ` Nicolin Chen 2022-06-24 19:22 ` Nicolin Chen 2022-06-24 19:30 ` Jason Gunthorpe 2022-06-24 19:30 ` [Intel-gfx] " Jason Gunthorpe 2022-06-24 19:30 ` Jason Gunthorpe 2022-06-24 20:12 ` Nicolin Chen 2022-06-24 20:12 ` Nicolin Chen 2022-06-24 22:42 ` Jason Gunthorpe 2022-06-24 22:42 ` [Intel-gfx] " Jason Gunthorpe 2022-06-24 22:42 ` Jason Gunthorpe 2022-06-16 23:52 ` [RFT][PATCH v1 6/6] vfio: Replace phys_pfn with phys_page for vfio_pin_pages() Nicolin Chen 2022-06-16 23:52 ` Nicolin Chen 2022-06-17 8:54 ` Christoph Hellwig 2022-06-17 8:54 ` [Intel-gfx] " Christoph Hellwig 2022-06-17 22:06 ` Nicolin Chen 2022-06-17 22:06 ` Nicolin Chen 2022-06-19 6:18 ` Christoph Hellwig 2022-06-19 6:18 ` [Intel-gfx] " Christoph Hellwig 2022-06-19 6:41 ` Nicolin Chen 2022-06-19 6:41 ` Nicolin Chen 2022-06-20 3:00 ` Jason Gunthorpe 2022-06-20 3:00 ` [Intel-gfx] " Jason Gunthorpe 2022-06-20 3:00 ` Jason Gunthorpe 2022-06-20 5:51 ` Christoph Hellwig 2022-06-20 5:51 ` [Intel-gfx] " Christoph Hellwig 2022-06-20 6:37 ` Christoph Hellwig 2022-06-20 6:37 ` [Intel-gfx] " Christoph Hellwig 2022-06-20 15:36 ` Jason Gunthorpe 2022-06-20 15:36 ` [Intel-gfx] " Jason Gunthorpe 2022-06-20 15:36 ` Jason Gunthorpe 2022-06-21 21:47 ` Nicolin Chen 2022-06-21 21:47 ` [Intel-gfx] " Nicolin Chen 2022-06-21 21:47 ` Nicolin Chen
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20220616235212.15185-1-nicolinc@nvidia.com \ --to=nicolinc@nvidia.com \ --cc=agordeev@linux.ibm.com \ --cc=airlied@linux.ie \ --cc=akrowiak@linux.ibm.com \ --cc=alex.williamson@redhat.com \ --cc=borntraeger@linux.ibm.com \ --cc=cohuck@redhat.com \ --cc=corbet@lwn.net \ --cc=daniel@ffwll.ch \ --cc=dri-devel@lists.freedesktop.org \ --cc=farman@linux.ibm.com \ --cc=freude@linux.ibm.com \ --cc=gor@linux.ibm.com \ --cc=hca@linux.ibm.com \ --cc=intel-gfx@lists.freedesktop.org \ --cc=intel-gvt-dev@lists.freedesktop.org \ --cc=jani.nikula@linux.intel.com \ --cc=jchrist@linux.ibm.com \ --cc=jgg@nvidia.com \ --cc=jjherne@linux.ibm.com \ --cc=joonas.lahtinen@linux.intel.com \ --cc=kevin.tian@intel.com \ --cc=kvm@vger.kernel.org \ --cc=kwankhede@nvidia.com \ --cc=linux-doc@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-s390@vger.kernel.org \ --cc=mjrosato@linux.ibm.com \ --cc=oberpar@linux.ibm.com \ --cc=pasic@linux.ibm.com \ --cc=rodrigo.vivi@intel.com \ --cc=svens@linux.ibm.com \ --cc=tvrtko.ursulin@linux.intel.com \ --cc=vneethv@linux.ibm.com \ --cc=zhenyuw@linux.intel.com \ --cc=zhi.a.wang@intel.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.