> >> Document the locking requirements for this? > > > > Thank you for the review. I will add info about locking requirements, > > in fact they are very relaxed. > > > > These pages are added to the list by unmaps or remaps operation in > > Intel IOMMU implementation. These calls assume that whoever is doing > > those operations has exclusive access to the VA range in the page > > table of that operation. The pages in this freelist only belong to the > > former page-tables from the IOVA range for those operations. > > These pages maybe be accessed concurrently by thread contexts other than > the IOMMU driver (such as debugfs). Good point regarding debugfs. While, it does not change any locking assumptions, for this series. It might change some design decisions that we need to make when freeing pages on unmaps (a separate RFC series that I sent). I will have to study how debugfs affect refcnt and mapcount, and whether we could use per-page page table locking if needed. Thanks, Pasha