* [dpdk-stable] [PATCH 2/3] devargs: make bus key parsing optional [not found] <20211005123012.264727-1-xuemingl@nvidia.com> @ 2021-10-05 12:30 ` Xueming Li [not found] ` <20211005155435.279043-1-xuemingl@nvidia.com> 1 sibling, 0 replies; 3+ messages in thread From: Xueming Li @ 2021-10-05 12:30 UTC (permalink / raw) To: dev; +Cc: xuemingl, Thomas Monjalon, David Marchand, stable, Gaetan Rivet Global devargs syntax is used as device iteration filter like "class=vdpa", a devargs without bus args is valid from parsing perspective. This patch makes bus args optional. Fixes: d2a66ad79480 ("bus: add device arguments name parsing") Cc: stable@dpdk.org Signed-off-by: Xueming Li <xuemingl@nvidia.com> --- drivers/bus/pci/pci_params.c | 8 +++----- lib/eal/common/eal_common_devargs.c | 2 +- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/drivers/bus/pci/pci_params.c b/drivers/bus/pci/pci_params.c index 691b5ea0180..f6fa3a5d6ce 100644 --- a/drivers/bus/pci/pci_params.c +++ b/drivers/bus/pci/pci_params.c @@ -85,11 +85,10 @@ rte_pci_devargs_parse(struct rte_devargs *da) struct rte_kvargs *kvargs; const char *addr_str; struct rte_pci_addr addr; - int ret; + int ret = 0; - if (da == NULL) + if (da == NULL || da->bus_str == NULL) return 0; - RTE_ASSERT(da->bus_str != NULL); kvargs = rte_kvargs_parse(da->bus_str, NULL); if (kvargs == NULL) { @@ -101,9 +100,8 @@ rte_pci_devargs_parse(struct rte_devargs *da) addr_str = rte_kvargs_get(kvargs, pci_params_keys[RTE_PCI_PARAM_ADDR]); if (addr_str == NULL) { - RTE_LOG(ERR, EAL, "No PCI address specified using '%s=<id>' in: %s\n", + RTE_LOG(DEBUG, EAL, "No PCI address specified using '%s=<id>' in: %s\n", pci_params_keys[RTE_PCI_PARAM_ADDR], da->bus_str); - ret = -ENODEV; goto out; } diff --git a/lib/eal/common/eal_common_devargs.c b/lib/eal/common/eal_common_devargs.c index e3786c6c02a..616cf77f229 100644 --- a/lib/eal/common/eal_common_devargs.c +++ b/lib/eal/common/eal_common_devargs.c @@ -39,7 +39,7 @@ devargs_bus_parse_default(struct rte_devargs *devargs, /* Parse devargs name from bus key-value list. */ name = rte_kvargs_get(bus_args, "name"); if (name == NULL) { - RTE_LOG(INFO, EAL, "devargs name not found: %s\n", + RTE_LOG(DEBUG, EAL, "devargs name not found: %s\n", devargs->data); return 0; } -- 2.33.0 ^ permalink raw reply [flat|nested] 3+ messages in thread
[parent not found: <20211005155435.279043-1-xuemingl@nvidia.com>]
* [dpdk-stable] [PATCH v1 2/3] devargs: make bus key parsing optional [not found] ` <20211005155435.279043-1-xuemingl@nvidia.com> @ 2021-10-05 15:54 ` Xueming Li 2021-10-19 15:19 ` Gaëtan Rivet 0 siblings, 1 reply; 3+ messages in thread From: Xueming Li @ 2021-10-05 15:54 UTC (permalink / raw) To: dev; +Cc: xuemingl, Thomas Monjalon, David Marchand, stable, Gaetan Rivet Global devargs syntax is used as device iteration filter like "class=vdpa", a devargs without bus args is valid from parsing perspective. This patch makes bus args optional. Fixes: d2a66ad79480 ("bus: add device arguments name parsing") Cc: stable@dpdk.org Signed-off-by: Xueming Li <xuemingl@nvidia.com> --- drivers/bus/pci/pci_params.c | 8 +++----- lib/eal/common/eal_common_devargs.c | 2 +- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/drivers/bus/pci/pci_params.c b/drivers/bus/pci/pci_params.c index 691b5ea0180..f6fa3a5d6ce 100644 --- a/drivers/bus/pci/pci_params.c +++ b/drivers/bus/pci/pci_params.c @@ -85,11 +85,10 @@ rte_pci_devargs_parse(struct rte_devargs *da) struct rte_kvargs *kvargs; const char *addr_str; struct rte_pci_addr addr; - int ret; + int ret = 0; - if (da == NULL) + if (da == NULL || da->bus_str == NULL) return 0; - RTE_ASSERT(da->bus_str != NULL); kvargs = rte_kvargs_parse(da->bus_str, NULL); if (kvargs == NULL) { @@ -101,9 +100,8 @@ rte_pci_devargs_parse(struct rte_devargs *da) addr_str = rte_kvargs_get(kvargs, pci_params_keys[RTE_PCI_PARAM_ADDR]); if (addr_str == NULL) { - RTE_LOG(ERR, EAL, "No PCI address specified using '%s=<id>' in: %s\n", + RTE_LOG(DEBUG, EAL, "No PCI address specified using '%s=<id>' in: %s\n", pci_params_keys[RTE_PCI_PARAM_ADDR], da->bus_str); - ret = -ENODEV; goto out; } diff --git a/lib/eal/common/eal_common_devargs.c b/lib/eal/common/eal_common_devargs.c index e3786c6c02a..616cf77f229 100644 --- a/lib/eal/common/eal_common_devargs.c +++ b/lib/eal/common/eal_common_devargs.c @@ -39,7 +39,7 @@ devargs_bus_parse_default(struct rte_devargs *devargs, /* Parse devargs name from bus key-value list. */ name = rte_kvargs_get(bus_args, "name"); if (name == NULL) { - RTE_LOG(INFO, EAL, "devargs name not found: %s\n", + RTE_LOG(DEBUG, EAL, "devargs name not found: %s\n", devargs->data); return 0; } -- 2.33.0 ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [dpdk-stable] [PATCH v1 2/3] devargs: make bus key parsing optional 2021-10-05 15:54 ` [dpdk-stable] [PATCH v1 " Xueming Li @ 2021-10-19 15:19 ` Gaëtan Rivet 0 siblings, 0 replies; 3+ messages in thread From: Gaëtan Rivet @ 2021-10-19 15:19 UTC (permalink / raw) To: Xueming(Steven) Li, dev; +Cc: Thomas Monjalon, David Marchand, stable On Tue, Oct 5, 2021, at 17:54, Xueming Li wrote: > Global devargs syntax is used as device iteration filter like > "class=vdpa", a devargs without bus args is valid from parsing > perspective. > > This patch makes bus args optional. > > Fixes: d2a66ad79480 ("bus: add device arguments name parsing") > Cc: stable@dpdk.org I agree with the change, but I'm not sure it should go into stable. The question goes further than that: is there a spec describing the valid syntax to users, that would allow to say the current parsing is buggy? I haven't found it in the doc. If there is a change such as this one, it should also be notified in the release notes. This is user-facing. So, not saying you should do it and not part of this patch, but a doc might help in doc/guides/howto maybe. The general grammar of a devargs could be formally described (in BNF?). Each layers should document their supported keys as well. Not sure it would be better gathered in a single file or within each driver. Now that the global syntax has been enabled for users, it should be documented. > > Signed-off-by: Xueming Li <xuemingl@nvidia.com> For this patch and beside the stable considerations, Reviewed-by: Gaetan Rivet <grive@u256.net> -- Gaetan Rivet ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2021-10-19 15:20 UTC | newest] Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- [not found] <20211005123012.264727-1-xuemingl@nvidia.com> 2021-10-05 12:30 ` [dpdk-stable] [PATCH 2/3] devargs: make bus key parsing optional Xueming Li [not found] ` <20211005155435.279043-1-xuemingl@nvidia.com> 2021-10-05 15:54 ` [dpdk-stable] [PATCH v1 " Xueming Li 2021-10-19 15:19 ` Gaëtan Rivet
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).