On Fri, May 1, 2020 at 6:56 PM Jerin Jacob <[email protected]> wrote:
>
> On Mon, Apr 27, 2020 at 11:40 PM <[email protected]> wrote:
> >
> > From: Pavan Nikhilesh <[email protected]>
> >
> > 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: [email protected]
>
> >
> > Signed-off-by: Pavan Nikhilesh <[email protected]>
>
>
> Acked-by: Jerin Jacob <[email protected]>
Applied to dpdk-next-eventdev/master. Thanks.
>
>
>
> > ---
> > 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
> >