> -----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