[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v3 5/5] intel_iommu: Optimize out some unnecessary UNMAP call
From: |
Peter Xu |
Subject: |
Re: [PATCH v3 5/5] intel_iommu: Optimize out some unnecessary UNMAP calls |
Date: |
Thu, 8 Jun 2023 16:34:27 -0400 |
On Thu, Jun 08, 2023 at 05:52:31PM +0800, Zhenzhong Duan wrote:
> while (remain >= VTD_PAGE_SIZE) {
> - IOMMUTLBEvent event;
> uint64_t mask = dma_aligned_pow2_mask(start, end, s->aw_bits);
> uint64_t size = mask + 1;
>
> assert(size);
>
> - event.type = IOMMU_NOTIFIER_UNMAP;
> - event.entry.iova = start;
> - event.entry.addr_mask = mask;
> - event.entry.target_as = &address_space_memory;
> - event.entry.perm = IOMMU_NONE;
> - /* This field is meaningless for unmap */
> - event.entry.translated_addr = 0;
> -
> - memory_region_notify_iommu_one(n, &event);
> + map.iova = start;
> + map.size = mask;
> + if (iova_tree_find(as->iova_tree, &map)) {
> + event.entry.iova = start;
> + event.entry.addr_mask = mask;
> + memory_region_notify_iommu_one(n, &event);
> + }
Ah one more thing: I think this path can also be triggered by notifiers
without MAP event registered, whose iova tree will always be empty. So we
may only do this for MAP, then I'm not sure whether it'll be worthwhile..
--
Peter Xu
- Re: [PATCH v3 5/5] intel_iommu: Optimize out some unnecessary UNMAP calls, (continued)
- Re: [PATCH v3 5/5] intel_iommu: Optimize out some unnecessary UNMAP calls, Peter Xu, 2023/06/08
- Re: [PATCH v3 5/5] intel_iommu: Optimize out some unnecessary UNMAP calls, Jason Gunthorpe, 2023/06/08
- Re: [PATCH v3 5/5] intel_iommu: Optimize out some unnecessary UNMAP calls, Peter Xu, 2023/06/08
- Re: [PATCH v3 5/5] intel_iommu: Optimize out some unnecessary UNMAP calls, Jason Gunthorpe, 2023/06/08
- RE: [PATCH v3 5/5] intel_iommu: Optimize out some unnecessary UNMAP calls, Duan, Zhenzhong, 2023/06/09
- Re: [PATCH v3 5/5] intel_iommu: Optimize out some unnecessary UNMAP calls, Peter Xu, 2023/06/09
- RE: [PATCH v3 5/5] intel_iommu: Optimize out some unnecessary UNMAP calls, Duan, Zhenzhong, 2023/06/12
- RE: [PATCH v3 5/5] intel_iommu: Optimize out some unnecessary UNMAP calls, Duan, Zhenzhong, 2023/06/14
- RE: [PATCH v3 5/5] intel_iommu: Optimize out some unnecessary UNMAP calls, Duan, Zhenzhong, 2023/06/09
- RE: [PATCH v3 5/5] intel_iommu: Optimize out some unnecessary UNMAP calls, Duan, Zhenzhong, 2023/06/08
Re: [PATCH v3 5/5] intel_iommu: Optimize out some unnecessary UNMAP calls,
Peter Xu <=
Re: [PATCH v3 0/5] Optimize UNMAP call and bug fix, Peter Xu, 2023/06/08