Michael S. Tsirkin
2022-Jul-13 05:57 UTC
[PATCH v2 1/5] vduse: Remove unnecessary spin lock protection
On Wed, Jul 06, 2022 at 01:04:59PM +0800, Xie Yongji wrote:> Taking iotlb lock to access bounce page in page fault > handler is meaningless since vduse_domain_free_bounce_pages() > would only be called during file release. > > Signed-off-by: Xie Yongji <xieyongji at bytedance.com>vduse_domain_free_bounce_pages is not the only one taking this lock. This commit log needs more analysis documenting all points of access to bounce_maps and why vduse_domain_get_bounce_page and file release are the only two.> --- > drivers/vdpa/vdpa_user/iova_domain.c | 7 ++----- > 1 file changed, 2 insertions(+), 5 deletions(-) > > diff --git a/drivers/vdpa/vdpa_user/iova_domain.c b/drivers/vdpa/vdpa_user/iova_domain.c > index 6daa3978d290..bca1f0b8850c 100644 > --- a/drivers/vdpa/vdpa_user/iova_domain.c > +++ b/drivers/vdpa/vdpa_user/iova_domain.c > @@ -211,17 +211,14 @@ static struct page * > vduse_domain_get_bounce_page(struct vduse_iova_domain *domain, u64 iova) > { > struct vduse_bounce_map *map; > - struct page *page = NULL; > + struct page *page; > > - spin_lock(&domain->iotlb_lock); > map = &domain->bounce_maps[iova >> PAGE_SHIFT]; > if (!map->bounce_page) > - goto out; > + return NULL; > > page = map->bounce_page; > get_page(page); > -out: > - spin_unlock(&domain->iotlb_lock); > > return page; > } > -- > 2.20.1