>-----Original Message----- >From: Chen, Mike Ximing <mike.ximing.c...@intel.com> >Sent: Friday 18 September 2020 18:39 >To: Jerin Jacob <jer...@marvell.com> >Cc: dev@dpdk.org; Eads, Gage <gage.e...@intel.com>; Vedantham, Sundar ><sundar.vedant...@intel.com>; Power, Ciara <ciara.po...@intel.com>; >Richardson, Bruce <bruce.richard...@intel.com> >Subject: [PATCH v3] eventdev: support telemetry with xstats info > >The telemetry library is connected with eventdev xstats and port link info. The >following new telemetry commands are added: > >/eventdev/dev_list >/eventdev/port_list,DevID >/eventdev/queue_list,DevID >/eventdev/dev_xstats,DevID >/eventdev/port_xstats,DevID,PortID >/eventdev/queue_xstats,DevID,PortID >/eventdev/queue_links,DevID,PortID > >queue_links command displays a list of queues linked with a specified >eventdev port and a service priority associated with each link. > >Signed-off-by: Mike Ximing Chen <mike.ximing.c...@intel.com> >--- >Depends-on: patch-76075 ("lib/telemetry: fix passing full params string to >command") >--- >v2: >* Fixed an issue with p_param in handles. > >v3: >* No code change. >* Add --in-reply-to v1 patch. >--- > lib/librte_eventdev/meson.build | 1 + > lib/librte_eventdev/rte_eventdev.c | 304 +++++++++++++++++++++++++++++ > 2 files changed, 305 insertions(+) >
<snip> >+static int >+handle_queue_links(const char *cmd __rte_unused, >+ const char *params, >+ struct rte_tel_data *d) >+{ >+ int i, ret, port_id = 0; >+ char *end_param; >+ uint8_t dev_id; >+ uint8_t queues[RTE_EVENT_MAX_QUEUES_PER_DEV]; >+ uint8_t priorities[RTE_EVENT_MAX_QUEUES_PER_DEV]; >+ const char *p_param; >+ >+ if (params == NULL || strlen(params) == 0 || !isdigit(*params)) >+ return -1; >+ >+ /* Get dev ID from parameter string */ >+ dev_id = strtoul(params, &end_param, 10); >+ RTE_EVENTDEV_VALID_DEVID_OR_ERR_RET(dev_id, -EINVAL); >+ >+ p_param = strtok(end_param, ","); >+ if (p_param == NULL || strlen(p_param) == 0 || !isdigit(*p_param)) >+ return -1; >+ >+ port_id = strtoul(p_param, &end_param, 10); >+ p_param = strtok(NULL, "\0"); >+ if (p_param != NULL) >+ RTE_EDEV_LOG_DEBUG( >+ "Extra parameters passed to eventdev telemetry >command, ignoring"); >+ <snip> This fix avoids the seg fault I previously mentioned, looks fine to me. Reviewed-by: Ciara Power <ciara.po...@intel.com>