On Tue, 6 Jul 2021 22:14:09 +0530
Vijay Srivastava <vijay.srivast...@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.

Reply via email to