On Tue, Jan 03, 2023 at 09:16:22AM +0100, Niklas Schnelle wrote: > On Mon, 2023-01-02 at 19:25 +0100, Alexandra Winter wrote: > > > > On 02.01.23 12:56, Niklas Schnelle wrote: > > > On s390 .iotlb_sync_map is used to sync mappings to an underlying > > > hypervisor by letting the hypervisor inspect the synced IOVA range and > > > updating its shadow table. This however means that it can fail as the > > > hypervisor may run out of resources. This can be due to the hypervisor > > > being unable to pin guest pages, due to a limit on concurrently mapped > > > addresses such as vfio_iommu_type1.dma_entry_limit or other resources. > > > Either way such a failure to sync a mapping should result in > > > a DMA_MAPPING_EROR. > > > > > > Now especially when running with batched IOTLB flushes for unmap it may > > > be that some IOVAs have already been invalidated but not yet synced via > > > .iotlb_sync_map. Thus if the hypervisor indicates running out of > > > resources, first do a global flush allowing the hypervisor to free > > > resources associated with these mappings and only if that also fails > > > report this error to callers. > > > > > > Signed-off-by: Niklas Schnelle <schnelle@xxxxxxxxxxxxx> > > > --- > > Just a small typo, I noticed > > [...] > > You mean the misspelled DMA_MAPPING_ERROR, right? Either way I did edit I think Alexandra meant the below: > > > + /* > > > + * let the hypervisor disover invalidated entries > > typo: s/disover/discover/g Now you know why I always complain when people do full quotes and not trim replies to relevant parts. It is sometimes very hard to spot comments :)