On Mon, Apr 27, 2020 at 11:40 PM <pbhagavat...@marvell.com> wrote: > > From: Pavan Nikhilesh <pbhagavat...@marvell.com> > > When probing event device in secondary process skip reinitializing > the device data structure as it is already done in primary process. > > When removing event device in secondary process skip closing the > event device as it should be done by primary process. > > Fixes: 322d0345c2bc ("eventdev: implement PMD registration functions")
Cc: sta...@dpdk.org > > Signed-off-by: Pavan Nikhilesh <pbhagavat...@marvell.com> Acked-by: Jerin Jacob <jer...@marvell.com> > --- > lib/librte_eventdev/rte_eventdev.c | 13 ++++++++----- > lib/librte_eventdev/rte_eventdev_pmd_pci.h | 8 +++++--- > 2 files changed, 13 insertions(+), 8 deletions(-) > > diff --git a/lib/librte_eventdev/rte_eventdev.c > b/lib/librte_eventdev/rte_eventdev.c > index b987e0745..9aca7fbd5 100644 > --- a/lib/librte_eventdev/rte_eventdev.c > +++ b/lib/librte_eventdev/rte_eventdev.c > @@ -1364,14 +1364,17 @@ rte_event_pmd_allocate(const char *name, int > socket_id) > > eventdev->data = eventdev_data; > > - strlcpy(eventdev->data->name, name, > RTE_EVENTDEV_NAME_MAX_LEN); > + if (rte_eal_process_type() == RTE_PROC_PRIMARY) { > > - eventdev->data->dev_id = dev_id; > - eventdev->data->socket_id = socket_id; > - eventdev->data->dev_started = 0; > + strlcpy(eventdev->data->name, name, > + RTE_EVENTDEV_NAME_MAX_LEN); > > - eventdev->attached = RTE_EVENTDEV_ATTACHED; > + eventdev->data->dev_id = dev_id; > + eventdev->data->socket_id = socket_id; > + eventdev->data->dev_started = 0; > + } > > + eventdev->attached = RTE_EVENTDEV_ATTACHED; > eventdev_globals.nb_devs++; > } > > diff --git a/lib/librte_eventdev/rte_eventdev_pmd_pci.h > b/lib/librte_eventdev/rte_eventdev_pmd_pci.h > index 8fb61386f..443cd38c2 100644 > --- a/lib/librte_eventdev/rte_eventdev_pmd_pci.h > +++ b/lib/librte_eventdev/rte_eventdev_pmd_pci.h > @@ -112,9 +112,11 @@ rte_event_pmd_pci_remove(struct rte_pci_device *pci_dev, > if (eventdev == NULL) > return -ENODEV; > > - ret = rte_event_dev_close(eventdev->data->dev_id); > - if (ret < 0) > - return ret; > + if (rte_eal_process_type() == RTE_PROC_PRIMARY) { > + ret = rte_event_dev_close(eventdev->data->dev_id); > + if (ret < 0) > + return ret; > + } > > /* Invoke PMD device un-init function */ > if (devuninit) > -- > 2.17.1 >