On Thu, 7 Jan 2021 12:43:59 +0800 Keqian Zhu <zhukeqian1@xxxxxxxxxx> wrote: > We always use the smallest supported page size of vfio_iommu as > pgsize. Remove parameter "pgsize" of vfio_dma_bitmap_alloc_all. > > Signed-off-by: Keqian Zhu <zhukeqian1@xxxxxxxxxx> > --- > drivers/vfio/vfio_iommu_type1.c | 8 +++----- > 1 file changed, 3 insertions(+), 5 deletions(-) > > diff --git a/drivers/vfio/vfio_iommu_type1.c b/drivers/vfio/vfio_iommu_type1.c > index b596c482487b..080c05b129ee 100644 > --- a/drivers/vfio/vfio_iommu_type1.c > +++ b/drivers/vfio/vfio_iommu_type1.c > @@ -236,9 +236,10 @@ static void vfio_dma_populate_bitmap(struct vfio_dma *dma, size_t pgsize) > } > } > > -static int vfio_dma_bitmap_alloc_all(struct vfio_iommu *iommu, size_t pgsize) > +static int vfio_dma_bitmap_alloc_all(struct vfio_iommu *iommu) > { > struct rb_node *n; > + size_t pgsize = (size_t)1 << __ffs(iommu->pgsize_bitmap); > > for (n = rb_first(&iommu->dma_list); n; n = rb_next(n)) { > struct vfio_dma *dma = rb_entry(n, struct vfio_dma, node); > @@ -2761,12 +2762,9 @@ static int vfio_iommu_type1_dirty_pages(struct vfio_iommu *iommu, > return -EINVAL; > > if (dirty.flags & VFIO_IOMMU_DIRTY_PAGES_FLAG_START) { > - size_t pgsize; > - > mutex_lock(&iommu->lock); > - pgsize = 1 << __ffs(iommu->pgsize_bitmap); > if (!iommu->dirty_page_tracking) { > - ret = vfio_dma_bitmap_alloc_all(iommu, pgsize); > + ret = vfio_dma_bitmap_alloc_all(iommu); > if (!ret) > iommu->dirty_page_tracking = true; > } This just moves the same calculation from one place to another, what's the point? Thanks, Alex