Hi Chenbo, Thanks for your review, I will send v9 to do this.
> -----Original Message----- > From: Xia, Chenbo <chenbo....@intel.com> > Sent: Wednesday, October 19, 2022 5:13 PM > To: Pei, Andy <andy....@intel.com>; dev@dpdk.org > Cc: Xu, Rosen <rosen...@intel.com>; Huang, Wei <wei.hu...@intel.com>; > Cao, Gang <gang....@intel.com>; maxime.coque...@redhat.com > Subject: RE: [PATCH v8 09/12] vdpa/ifc: change some driver logic > > > -----Original Message----- > > From: Pei, Andy <andy....@intel.com> > > Sent: Tuesday, October 18, 2022 8:08 PM > > To: dev@dpdk.org > > Cc: Xia, Chenbo <chenbo....@intel.com>; Xu, Rosen > > <rosen...@intel.com>; Huang, Wei <wei.hu...@intel.com>; Cao, Gang > > <gang....@intel.com>; maxime.coque...@redhat.com > > Subject: [PATCH v8 09/12] vdpa/ifc: change some driver logic > > > > Insert internal list element to internal list before register vdpa > > device, in order to call vdpa ops during vdpa device registration. > > Patch seems good but title may be too general.. > > Maybe: improve internal list logic ? > > Thanks, > Chenbo > > > > > Signed-off-by: Andy Pei <andy....@intel.com> > > --- > > drivers/vdpa/ifc/ifcvf_vdpa.c | 11 +++++++---- > > 1 file changed, 7 insertions(+), 4 deletions(-) > > > > diff --git a/drivers/vdpa/ifc/ifcvf_vdpa.c > > b/drivers/vdpa/ifc/ifcvf_vdpa.c index c16e263..8dfd493 100644 > > --- a/drivers/vdpa/ifc/ifcvf_vdpa.c > > +++ b/drivers/vdpa/ifc/ifcvf_vdpa.c > > @@ -1737,17 +1737,20 @@ struct rte_vdpa_dev_info dev_info[] = { > > } > > internal->sw_lm = sw_fallback_lm; > > > > + pthread_mutex_lock(&internal_list_lock); > > + TAILQ_INSERT_TAIL(&internal_list, list, next); > > + pthread_mutex_unlock(&internal_list_lock); > > + > > internal->vdev = rte_vdpa_register_device(&pci_dev->device, > > dev_info[internal->hw.device_type].ops); > > if (internal->vdev == NULL) { > > DRV_LOG(ERR, "failed to register device %s", pci_dev->name); > > + pthread_mutex_lock(&internal_list_lock); > > + TAILQ_REMOVE(&internal_list, list, next); > > + pthread_mutex_unlock(&internal_list_lock); > > goto error; > > } > > > > - pthread_mutex_lock(&internal_list_lock); > > - TAILQ_INSERT_TAIL(&internal_list, list, next); > > - pthread_mutex_unlock(&internal_list_lock); > > - > > rte_atomic32_set(&internal->started, 1); > > update_datapath(internal); > > > > -- > > 1.8.3.1