Messages in this thread | | | Subject | Re: [PATCH 9/9] iommu: Move flush queue data into iommu_dma_cookie | From | John Garry <> | Date | Wed, 24 Nov 2021 17:25:22 +0000 |
| |
On 23/11/2021 14:10, Robin Murphy wrote: > ruct iommu_dma_msi_page { > struct list_head list; > @@ -41,7 +43,19 @@ struct iommu_dma_cookie { > enum iommu_dma_cookie_type type; > union { > /* Full allocator for IOMMU_DMA_IOVA_COOKIE */ > - struct iova_domain iovad; > + struct { > + struct iova_domain iovad; > + > + struct iova_fq __percpu *fq; /* Flush queue */ > + /* Number of TLB flushes that have been started */ > + atomic64_t fq_flush_start_cnt; > + /* Number of TLB flushes that have been finished */ > + atomic64_t fq_flush_finish_cnt; > + /* Timer to regularily empty the flush queues */ > + struct timer_list fq_timer; > + /* 1 when timer is active, 0 when not */ > + atomic_t fq_timer_on;
I thought that putting all the FQ stuff in its own structure would be neater, but that's just personal preference.
Thanks, John
| |