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.