[v4,2/2] event/skeleton: set driver name string
Checks
Commit Message
When calling rte_eventdev_info_get() the driver name string field should
be populated.
Fixes: bbbb929da5e6 ("event/skeleton: add skeleton eventdev driver")
Cc: stable@dpdk.org
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
---
drivers/event/skeleton/skeleton_eventdev.c | 2 ++
1 file changed, 2 insertions(+)
Comments
On Wed, Oct 18, 2023 at 2:26 PM Bruce Richardson
<bruce.richardson@intel.com> wrote:
>
> When calling rte_eventdev_info_get() the driver name string field should
> be populated.
>
> Fixes: bbbb929da5e6 ("event/skeleton: add skeleton eventdev driver")
> Cc: stable@dpdk.org
>
> Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
event/dpaa2 seems affected too.
Can rte_eventdev_info_get() fill this based on the driver attached to
the device, like ethdev does?
Something like untested:
diff --git a/lib/eventdev/rte_eventdev.c b/lib/eventdev/rte_eventdev.c
index 95373bbaad..37ccc0dc77 100644
--- a/lib/eventdev/rte_eventdev.c
+++ b/lib/eventdev/rte_eventdev.c
@@ -104,6 +104,7 @@ rte_event_dev_info_get(uint8_t dev_id, struct
rte_event_dev_info *dev_info)
dev_info->dequeue_timeout_ns = dev->data->dev_conf.dequeue_timeout_ns;
dev_info->dev = dev->dev;
+ dev_info->driver_name = dev->dev->driver->name;
rte_eventdev_trace_info_get(dev_id, dev_info, dev_info->dev);
On Wed, Oct 18, 2023 at 02:44:11PM +0200, David Marchand wrote:
> On Wed, Oct 18, 2023 at 2:26 PM Bruce Richardson
> <bruce.richardson@intel.com> wrote:
> >
> > When calling rte_eventdev_info_get() the driver name string field should
> > be populated.
> >
> > Fixes: bbbb929da5e6 ("event/skeleton: add skeleton eventdev driver")
> > Cc: stable@dpdk.org
> >
> > Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
>
> event/dpaa2 seems affected too.
>
Ok, hadn't noticed that. I tested all the SW drivers I could and didn't
find any of them affected.
> Can rte_eventdev_info_get() fill this based on the driver attached to
> the device, like ethdev does?
>
> Something like untested:
>
> diff --git a/lib/eventdev/rte_eventdev.c b/lib/eventdev/rte_eventdev.c
> index 95373bbaad..37ccc0dc77 100644
> --- a/lib/eventdev/rte_eventdev.c
> +++ b/lib/eventdev/rte_eventdev.c
> @@ -104,6 +104,7 @@ rte_event_dev_info_get(uint8_t dev_id, struct
> rte_event_dev_info *dev_info)
> dev_info->dequeue_timeout_ns = dev->data->dev_conf.dequeue_timeout_ns;
>
> dev_info->dev = dev->dev;
> + dev_info->driver_name = dev->dev->driver->name;
>
> rte_eventdev_trace_info_get(dev_id, dev_info, dev_info->dev);
>
Ok, let me do up and test a patch.
/Bruce
On Wed, Oct 18, 2023 at 01:52:08PM +0100, Bruce Richardson wrote:
> On Wed, Oct 18, 2023 at 02:44:11PM +0200, David Marchand wrote:
> > On Wed, Oct 18, 2023 at 2:26 PM Bruce Richardson
> > <bruce.richardson@intel.com> wrote:
> > >
> > > When calling rte_eventdev_info_get() the driver name string field should
> > > be populated.
> > >
> > > Fixes: bbbb929da5e6 ("event/skeleton: add skeleton eventdev driver")
> > > Cc: stable@dpdk.org
> > >
> > > Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
> >
> > event/dpaa2 seems affected too.
> >
>
> Ok, hadn't noticed that. I tested all the SW drivers I could and didn't
> find any of them affected.
>
> > Can rte_eventdev_info_get() fill this based on the driver attached to
> > the device, like ethdev does?
> >
> > Something like untested:
> >
> > diff --git a/lib/eventdev/rte_eventdev.c b/lib/eventdev/rte_eventdev.c
> > index 95373bbaad..37ccc0dc77 100644
> > --- a/lib/eventdev/rte_eventdev.c
> > +++ b/lib/eventdev/rte_eventdev.c
> > @@ -104,6 +104,7 @@ rte_event_dev_info_get(uint8_t dev_id, struct
> > rte_event_dev_info *dev_info)
> > dev_info->dequeue_timeout_ns = dev->data->dev_conf.dequeue_timeout_ns;
> >
> > dev_info->dev = dev->dev;
> > + dev_info->driver_name = dev->dev->driver->name;
> >
> > rte_eventdev_trace_info_get(dev_id, dev_info, dev_info->dev);
> >
> Ok, let me do up and test a patch.
>
V5 sent with this fix instead. I just added some additional conditionals
around it, just in case we end up with some Null pointers in that chain
(hopefully not after the previous patch, but better to check).
Testing with skeleton, sw, dsw and opdl drivers showed no issues with
reporting the driver name.
/Bruce
@@ -24,6 +24,7 @@
#define EVENTDEV_NAME_SKELETON_PMD event_skeleton
/**< Skeleton event device PMD name */
+#define EVENTDEV_NAME_STRING RTE_STR(EVENTDEV_NAME_SKELETON_PMD)
static uint16_t
skeleton_eventdev_enqueue(void *port, const struct rte_event *ev)
@@ -88,6 +89,7 @@ skeleton_eventdev_info_get(struct rte_eventdev *dev,
RTE_SET_USED(skel);
+ dev_info->driver_name = EVENTDEV_NAME_STRING;
dev_info->min_dequeue_timeout_ns = 1;
dev_info->max_dequeue_timeout_ns = 10000;
dev_info->dequeue_timeout_ns = 25;