From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dong Jia Shi Subject: Re: [PATCH v11 08/22] vfio iommu type1: Add find_iommu_group() function Date: Thu, 10 Nov 2016 15:29:03 +0800 Message-ID: <38870.5583093271$1505294403@news.gmane.org> References: <1478293856-8191-1-git-send-email-kwankhede@nvidia.com> <1478293856-8191-9-git-send-email-kwankhede@nvidia.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: kevin.tian@intel.com, cjia@nvidia.com, kvm@vger.kernel.org, qemu-devel@nongnu.org, linux-kernel@vger.kernel.org, jike.song@intel.com, alex.williamson@redhat.com, kraxel@redhat.com, pbonzini@redhat.com, bjsdjshi@linux.vnet.ibm.com To: Kirti Wankhede Return-path: Content-Disposition: inline In-Reply-To: <1478293856-8191-9-git-send-email-kwankhede@nvidia.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+gceq-qemu-devel=gmane.org@nongnu.org Sender: "Qemu-devel" List-Id: kvm.vger.kernel.org * Kirti Wankhede [2016-11-05 02:40:42 +0530]: Hi Kirti, > Add find_iommu_group() > > Signed-off-by: Kirti Wankhede > Signed-off-by: Neo Jia > Change-Id: I9d372f1ebe9eb01a5a21374b8a2b03f7df73601f > --- > drivers/vfio/vfio_iommu_type1.c | 58 ++++++++++++++++++++++++----------------- > 1 file changed, 34 insertions(+), 24 deletions(-) > > diff --git a/drivers/vfio/vfio_iommu_type1.c b/drivers/vfio/vfio_iommu_type1.c > index 653386e80e85..422c8d198abb 100644 > --- a/drivers/vfio/vfio_iommu_type1.c > +++ b/drivers/vfio/vfio_iommu_type1.c > @@ -748,11 +748,24 @@ static void vfio_test_domain_fgsp(struct vfio_domain *domain) > __free_pages(pages, order); > } > > +static struct vfio_group *find_iommu_group(struct vfio_domain *domain, > + struct iommu_group *iommu_group) nit: broken indentation. > +{ > + struct vfio_group *g; > + > + list_for_each_entry(g, &domain->group_list, next) { > + if (g->iommu_group == iommu_group) > + return g; > + } > + > + return NULL; > +} > + > static int vfio_iommu_type1_attach_group(void *iommu_data, > struct iommu_group *iommu_group) > { > struct vfio_iommu *iommu = iommu_data; > - struct vfio_group *group, *g; > + struct vfio_group *group; > struct vfio_domain *domain, *d; > struct bus_type *bus = NULL; > int ret; > @@ -760,10 +773,7 @@ static int vfio_iommu_type1_attach_group(void *iommu_data, > mutex_lock(&iommu->lock); > > list_for_each_entry(d, &iommu->domain_list, next) { > - list_for_each_entry(g, &d->group_list, next) { > - if (g->iommu_group != iommu_group) > - continue; > - > + if (find_iommu_group(d, iommu_group)) { > mutex_unlock(&iommu->lock); > return -EINVAL; > } > @@ -882,28 +892,28 @@ static void vfio_iommu_type1_detach_group(void *iommu_data, > > mutex_lock(&iommu->lock); > > + nit: empty line. > list_for_each_entry(domain, &iommu->domain_list, next) { > - list_for_each_entry(group, &domain->group_list, next) { > - if (group->iommu_group != iommu_group) > - continue; > + group = find_iommu_group(domain, iommu_group); > + if (!group) > + continue; [...] Looks good to me! -- Dong Jia