All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH V5 0/9] iommu_ioas_map_file
@ 2024-10-22 21:00 Steve Sistare
  2024-10-22 21:00 ` [PATCH V5 1/9] mm/gup: folio_add_pins Steve Sistare
                   ` (8 more replies)
  0 siblings, 9 replies; 33+ messages in thread
From: Steve Sistare @ 2024-10-22 21:00 UTC (permalink / raw)
  To: iommu; +Cc: Jason Gunthorpe, Kevin Tian, Nicolin Chen, Steve Sistare

Provide the IOMMU_IOAS_MAP_FILE ioctl, which allows a user to register
memory by passing a memfd plus offset and length.  Implement it using
the memfd_map_folios KAPI, and the proposed folio_add_pins KAPI.
See the individual patches for details.

Changes in V2:
 * changed names and commit message in "rename uptr in iopt_alloc_iova"
 * normalized comments describing the iopt_map_user_pages interface
 * submitted folio_split_user_page_pin (fka folio_repin_unhugely) separately
 * replaced nupages[] optimization with folio-to-batch optimization
 * added selftests for map file

Changes in V3:
  * fixed bug setting user->locked
  * fixed bug in pages->file refs
  * replaced lockdep_off with down_write_nest_lock
  * added ufolios_next to track folio consumption in reader
  * combined IOMMU_IOAS_MAP_FILE interface and implementation
  * added patch folio_add_pins (fka folio_split_user_page_pin )
  * reformatted patches using clang-format
  * misc cosmetic changes in response to review comments

Changes in V4:
  * deleted ufolios_huge optimization
  * optimized batch_from_folios
  * squashed "optimize file mapping" into "pfn reader for file mappings"
  * moved length overflow check to iopt_alloc_file_pages
  * one declaration per line, and use local scope declarations
  * rebased to iommufd git tree

Changes in V5:
  * hoisted folio_add_pins call and deleted folios_unpin_partial
  * simplified batch_add_pfn_num and its caller
  * added cmd_length selftest for iommu_ioas_map_file
  * added map_file case for iommufd_fail_nth selftest
  * fixed an unreported mmput bug in pfn_reader_user_destroy that broke mdev

Steve Sistare (9):
  mm/gup: folio_add_pins
  iommufd: rename uptr in iopt_alloc_iova
  iommufd: generalize iopt_pages address
  iommufd: pfn reader local variables
  iommufd: folio subroutines
  iommufd: pfn reader for file mappings
  iommufd: IOMMU_IOAS_MAP_FILE
  iommufd: file mappings for mdev
  iommufd: map file selftest

 drivers/iommu/iommufd/io_pagetable.c             | 117 ++++++---
 drivers/iommu/iommufd/io_pagetable.h             |  20 +-
 drivers/iommu/iommufd/ioas.c                     |  38 +++
 drivers/iommu/iommufd/iommufd_private.h          |   5 +
 drivers/iommu/iommufd/main.c                     |   2 +
 drivers/iommu/iommufd/pages.c                    | 309 +++++++++++++++++++----
 include/linux/mm.h                               |   1 +
 include/uapi/linux/iommufd.h                     |  25 ++
 mm/gup.c                                         |  24 ++
 tools/testing/selftests/iommu/iommufd.c          | 136 ++++++++--
 tools/testing/selftests/iommu/iommufd_fail_nth.c |  39 +++
 tools/testing/selftests/iommu/iommufd_utils.h    |  57 +++++
 12 files changed, 664 insertions(+), 109 deletions(-)

base-commit: e2d8fe9148b79ed1cbf0663edc988db7769173dc

-- 
1.8.3.1


^ permalink raw reply	[flat|nested] 33+ messages in thread

end of thread, other threads:[~2024-10-24  6:17 UTC | newest]

Thread overview: 33+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-10-22 21:00 [PATCH V5 0/9] iommu_ioas_map_file Steve Sistare
2024-10-22 21:00 ` [PATCH V5 1/9] mm/gup: folio_add_pins Steve Sistare
2024-10-22 21:00 ` [PATCH V5 2/9] iommufd: rename uptr in iopt_alloc_iova Steve Sistare
2024-10-23  7:05   ` Tian, Kevin
2024-10-22 21:00 ` [PATCH V5 3/9] iommufd: generalize iopt_pages address Steve Sistare
2024-10-23  7:08   ` Tian, Kevin
2024-10-23 13:33     ` Steven Sistare
2024-10-22 21:00 ` [PATCH V5 4/9] iommufd: pfn reader local variables Steve Sistare
2024-10-23  7:09   ` Tian, Kevin
2024-10-22 21:00 ` [PATCH V5 5/9] iommufd: folio subroutines Steve Sistare
2024-10-23  7:16   ` Tian, Kevin
2024-10-23  7:21   ` Tian, Kevin
2024-10-23 13:03     ` Jason Gunthorpe
2024-10-24  6:14       ` Tian, Kevin
2024-10-23 13:04     ` Steven Sistare
2024-10-23 13:01   ` Jason Gunthorpe
2024-10-22 21:00 ` [PATCH V5 6/9] iommufd: pfn reader for file mappings Steve Sistare
2024-10-23  7:40   ` Tian, Kevin
2024-10-23 13:06     ` Steven Sistare
2024-10-24  6:17       ` Tian, Kevin
2024-10-23 13:15     ` Jason Gunthorpe
2024-10-23 13:24   ` Jason Gunthorpe
2024-10-22 21:00 ` [PATCH V5 7/9] iommufd: IOMMU_IOAS_MAP_FILE Steve Sistare
2024-10-23  7:45   ` Tian, Kevin
2024-10-23 13:22     ` Steven Sistare
2024-10-22 21:00 ` [PATCH V5 8/9] iommufd: file mappings for mdev Steve Sistare
2024-10-23  8:01   ` Tian, Kevin
2024-10-23 13:16     ` Jason Gunthorpe
2024-10-22 21:00 ` [PATCH V5 9/9] iommufd: map file selftest Steve Sistare
2024-10-23 13:52   ` Steven Sistare
2024-10-23 20:15   ` Nicolin Chen
2024-10-23 20:45     ` Steven Sistare
2024-10-24  0:36       ` Nicolin Chen

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.