On 2023-10-18 07:18, Jerin Jacob wrote:
On Tue, Oct 17, 2023 at 10:21 PM Jerin Jacob <jerinjac...@gmail.com> wrote:
On Tue, Oct 17, 2023 at 9:45 PM Bruce Richardson
<bruce.richard...@intel.com> wrote:
On Tue, Oct 17, 2023 at 09:34:04PM +0530, Jerin Jacob wrote:
On Tue, Oct 17, 2023 at 9:32 PM Bruce Richardson
<bruce.richard...@intel.com> wrote:
After calling rte_event_dev_info_get() the ".dev" field of the info
structure should have a pointer to the underlying device, allowing the
user to e.g. get the device name using using rte_dev_name(info.dev).
The distributed software eventdev info structure did not return a
correct device pointer, though, instead returning NULL, which caused
crashes getting "rte_dev_name". Initializing the dev pointer inside the
"eventdev" struct in the device probe function fixes this by ensuring we
have a valid pointer to return in info_get calls.
Fixes: 46a186b1f0c5 ("event/dsw: add device registration and build system")
Cc: mattias.ronnb...@ericsson.com
Signed-off-by: Bruce Richardson <bruce.richard...@intel.com>
Is this issue for all "vdev" devices? if so, Please check for
drivers/event/skeleton too.
Yes, good point, looks like event/skeleton also returns NULL for the device
pointer.
I'll do up a v3 with the extra patch in it.
Looks there are more vdev devuces. Can we have common PMD function or
extend rte_event_pmd_vdev_init or so.
@Richardson, Bruce I will be on vacation from Friday, So would like to
give PR for rc2 before that.
Adding helper function in rc2 may be risky, Could you fix all vdev
mentioned below.
Helper work, I think, we can take in next release.
I agree.
Thanks Bruce!
[main]dell[dpdk.org] $ git grep rte_event_pmd_vdev_init
drivers/event/dpaa/dpaa_eventdev.c: eventdev = rte_event_pmd_vdev_init(name,
drivers/event/dpaa2/dpaa2_eventdev.c: eventdev = rte_event_pmd_vdev_init(name,
drivers/event/dsw/dsw_evdev.c: dev = rte_event_pmd_vdev_init(name,
sizeof(struct dsw_evdev),
drivers/event/octeontx/ssovf_evdev.c: eventdev =
rte_event_pmd_vdev_init(name, sizeof(struct ssovf_evdev),
drivers/event/opdl/opdl_evdev.c: dev = rte_event_pmd_vdev_init(name,
drivers/event/skeleton/skeleton_eventdev.c: eventdev =
rte_event_pmd_vdev_init(name,
drivers/event/sw/sw_evdev.c: dev = rte_event_pmd_vdev_init(name,
lib/eventdev/eventdev_pmd_vdev.h:rte_event_pmd_vdev_init(const char
*name, size_t dev_private_size,
lib/eventdev/version.map: rte_event_pmd_vdev_init;
/Bruce