[dpdk-dev] [PATCH 01/10] vdpa/sfc: introduce Xilinx vDPA driver

Stephen Hemminger stephen at networkplumber.org
Fri Aug 13 17:36:04 CEST 2021


On Tue, 6 Jul 2021 22:14:09 +0530
Vijay Srivastava <vijay.srivastava at xilinx.com> wrote:

> +uint32_t
> +sfc_vdpa_register_logtype(const struct rte_pci_addr *pci_addr,
> +			  const char *lt_prefix_str, uint32_t ll_default)
> +{
> +	size_t lt_prefix_str_size = strlen(lt_prefix_str);
> +	size_t lt_str_size_max;
> +	char *lt_str = NULL;
> +	int ret;
> +
> +	if (SIZE_MAX - PCI_PRI_STR_SIZE - 1 > lt_prefix_str_size) {
> +		++lt_prefix_str_size; /* Reserve space for prefix separator */
> +		lt_str_size_max = lt_prefix_str_size + PCI_PRI_STR_SIZE + 1;
> +	} else {
> +		return RTE_LOGTYPE_PMD;
> +	}
> +
> +	lt_str = rte_zmalloc("logtype_str", lt_str_size_max, 0);
> +	if (lt_str == NULL)
> +		return RTE_LOGTYPE_PMD;
> +
> +	strncpy(lt_str, lt_prefix_str, lt_prefix_str_size);
> +	lt_str[lt_prefix_str_size - 1] = '.';
> +	rte_pci_device_name(pci_addr, lt_str + lt_prefix_str_size,
> +			    lt_str_size_max - lt_prefix_str_size);
> +	lt_str[lt_str_size_max - 1] = '\0';
> +
> +	ret = rte_log_register_type_and_pick_level(lt_str, ll_default);
> +	rte_free(lt_str);
> +
> +	return (ret < 0) ? RTE_LOGTYPE_PMD : ret;
> +}

This seems like overkill doing per-device log level. Other drivers
aren't doing this.

Once again my advice to DPDK driver developers is "don't be a snowflake"
your driver is not special.


More information about the dev mailing list