* [dpdk-dev] [PATCH 0/3] adjust mlx debug logs
@ 2021-03-08 22:28 Thomas Monjalon
2021-03-08 22:28 ` [dpdk-dev] [PATCH 1/3] net/mlx4: enable debug logs dynamically Thomas Monjalon
` (3 more replies)
0 siblings, 4 replies; 19+ messages in thread
From: Thomas Monjalon @ 2021-03-08 22:28 UTC (permalink / raw)
To: dev
Few adjustments of debug log usage in mlx4/mlx5.
Thomas Monjalon (3):
net/mlx4: enable debug logs dynamically
common/mlx5: enable debug logs dynamically
net/mlx5: reduce log level of alignment message
drivers/common/mlx5/mlx5_common.h | 2 --
drivers/common/mlx5/mlx5_common_mr.c | 45 ++++++++++++++-------------
drivers/common/mlx5/mlx5_common_pci.c | 4 +--
drivers/net/mlx4/mlx4_utils.h | 5 ++-
drivers/net/mlx5/linux/mlx5_verbs.c | 13 ++++----
drivers/net/mlx5/mlx5_mr.c | 12 +++----
drivers/net/mlx5/mlx5_rxq.c | 11 ++++---
drivers/net/mlx5/mlx5_utils.c | 4 +--
8 files changed, 50 insertions(+), 46 deletions(-)
--
2.30.1
^ permalink raw reply [flat|nested] 19+ messages in thread
* [dpdk-dev] [PATCH 1/3] net/mlx4: enable debug logs dynamically
2021-03-08 22:28 [dpdk-dev] [PATCH 0/3] adjust mlx debug logs Thomas Monjalon
@ 2021-03-08 22:28 ` Thomas Monjalon
2021-03-08 22:28 ` [dpdk-dev] [PATCH 2/3] common/mlx5: " Thomas Monjalon
` (2 subsequent siblings)
3 siblings, 0 replies; 19+ messages in thread
From: Thomas Monjalon @ 2021-03-08 22:28 UTC (permalink / raw)
To: dev; +Cc: Matan Azrad, Shahaf Shuler
The macro DEBUG was doing nothing if not compiled with
RTE_LIBRTE_MLX4_DEBUG.
As it is not used in the data path, it can be always enabled at
compilation time. Then it can be enabled at runtime with:
--log-level pmd.net.mlx4:debug
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
---
drivers/net/mlx4/mlx4_utils.h | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/drivers/net/mlx4/mlx4_utils.h b/drivers/net/mlx4/mlx4_utils.h
index b8769562ab..fca21fd79c 100644
--- a/drivers/net/mlx4/mlx4_utils.h
+++ b/drivers/net/mlx4/mlx4_utils.h
@@ -52,14 +52,13 @@ pmd_drv_log_basename(const char *s)
__LINE__, \
__func__, \
RTE_FMT_TAIL(__VA_ARGS__,)))
-#define DEBUG(...) PMD_DRV_LOG(DEBUG, __VA_ARGS__)
#define MLX4_ASSERT(exp) RTE_VERIFY(exp)
#define claim_zero(...) MLX4_ASSERT((__VA_ARGS__) == 0)
#else /* RTE_LIBRTE_MLX4_DEBUG */
/*
- * Like MLX4_ASSERT(), DEBUG() becomes a no-op and claim_zero() does not perform
+ * Like MLX4_ASSERT(), claim_zero() does not perform
* any check when debugging is disabled.
*/
@@ -68,12 +67,12 @@ pmd_drv_log_basename(const char *s)
RTE_FMT(MLX4_DRIVER_NAME ": " \
RTE_FMT_HEAD(__VA_ARGS__,) "\n", \
RTE_FMT_TAIL(__VA_ARGS__,)))
-#define DEBUG(...) (void)0
#define MLX4_ASSERT(exp) RTE_ASSERT(exp)
#define claim_zero(...) (__VA_ARGS__)
#endif /* RTE_LIBRTE_MLX4_DEBUG */
+#define DEBUG(...) PMD_DRV_LOG(DEBUG, __VA_ARGS__)
#define INFO(...) PMD_DRV_LOG(INFO, __VA_ARGS__)
#define WARN(...) PMD_DRV_LOG(WARNING, __VA_ARGS__)
#define ERROR(...) PMD_DRV_LOG(ERR, __VA_ARGS__)
--
2.30.1
^ permalink raw reply [flat|nested] 19+ messages in thread
* [dpdk-dev] [PATCH 2/3] common/mlx5: enable debug logs dynamically
2021-03-08 22:28 [dpdk-dev] [PATCH 0/3] adjust mlx debug logs Thomas Monjalon
2021-03-08 22:28 ` [dpdk-dev] [PATCH 1/3] net/mlx4: enable debug logs dynamically Thomas Monjalon
@ 2021-03-08 22:28 ` Thomas Monjalon
2021-03-08 22:28 ` [dpdk-dev] [PATCH 3/3] net/mlx5: reduce log level of alignment message Thomas Monjalon
2021-03-09 9:48 ` [dpdk-dev] [PATCH v2 0/4] adjust mlx debug logs Thomas Monjalon
3 siblings, 0 replies; 19+ messages in thread
From: Thomas Monjalon @ 2021-03-08 22:28 UTC (permalink / raw)
To: dev; +Cc: Matan Azrad, Shahaf Shuler, Viacheslav Ovsiienko
Most debug logs are using DRV_LOG(DEBUG,)
but some were using DEBUG().
The macro DEBUG is doing nothing if not compiled with
RTE_LIBRTE_MLX5_DEBUG.
As it is not used in the data path, the macro DEBUG
can be replaced with DRV_LOG.
Then all debug logs can be enabled at runtime with:
--log-level pmd.net.mlx5:debug
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
---
drivers/common/mlx5/mlx5_common.h | 2 --
drivers/common/mlx5/mlx5_common_mr.c | 45 ++++++++++++++-------------
drivers/common/mlx5/mlx5_common_pci.c | 4 +--
drivers/net/mlx5/linux/mlx5_verbs.c | 13 ++++----
drivers/net/mlx5/mlx5_mr.c | 12 +++----
drivers/net/mlx5/mlx5_rxq.c | 11 ++++---
6 files changed, 46 insertions(+), 41 deletions(-)
diff --git a/drivers/common/mlx5/mlx5_common.h b/drivers/common/mlx5/mlx5_common.h
index 3855582d0d..5028a05b49 100644
--- a/drivers/common/mlx5/mlx5_common.h
+++ b/drivers/common/mlx5/mlx5_common.h
@@ -92,14 +92,12 @@ pmd_drv_log_basename(const char *s)
/* claim_zero() does not perform any check when debugging is disabled. */
#ifdef RTE_LIBRTE_MLX5_DEBUG
-#define DEBUG(...) DRV_LOG(DEBUG, __VA_ARGS__)
#define MLX5_ASSERT(exp) RTE_VERIFY(exp)
#define claim_zero(...) MLX5_ASSERT((__VA_ARGS__) == 0)
#define claim_nonzero(...) MLX5_ASSERT((__VA_ARGS__) != 0)
#else /* RTE_LIBRTE_MLX5_DEBUG */
-#define DEBUG(...) (void)0
#define MLX5_ASSERT(exp) RTE_ASSERT(exp)
#define claim_zero(...) (__VA_ARGS__)
#define claim_nonzero(...) (__VA_ARGS__)
diff --git a/drivers/common/mlx5/mlx5_common_mr.c b/drivers/common/mlx5/mlx5_common_mr.c
index 7c25541dc4..e1ed0caf3a 100644
--- a/drivers/common/mlx5/mlx5_common_mr.c
+++ b/drivers/common/mlx5/mlx5_common_mr.c
@@ -187,8 +187,9 @@ mlx5_mr_btree_init(struct mlx5_mr_btree *bt, int n, int socket)
0, socket);
if (bt->table == NULL) {
rte_errno = ENOMEM;
- DEBUG("failed to allocate memory for btree cache on socket %d",
- socket);
+ DRV_LOG(DEBUG,
+ "failed to allocate memory for btree cache on socket "
+ "%d", socket);
return -rte_errno;
}
bt->size = n;
@@ -196,7 +197,7 @@ mlx5_mr_btree_init(struct mlx5_mr_btree *bt, int n, int socket)
(*bt->table)[bt->len++] = (struct mr_cache_entry) {
.lkey = UINT32_MAX,
};
- DEBUG("initialized B-tree %p with table %p",
+ DRV_LOG(DEBUG, "initialized B-tree %p with table %p",
(void *)bt, (void *)bt->table);
return 0;
}
@@ -212,7 +213,7 @@ mlx5_mr_btree_free(struct mlx5_mr_btree *bt)
{
if (bt == NULL)
return;
- DEBUG("freeing B-tree %p with table %p",
+ DRV_LOG(DEBUG, "freeing B-tree %p with table %p",
(void *)bt, (void *)bt->table);
mlx5_free(bt->table);
memset(bt, 0, sizeof(*bt));
@@ -237,7 +238,7 @@ mlx5_mr_btree_dump(struct mlx5_mr_btree *bt __rte_unused)
for (idx = 0; idx < bt->len; ++idx) {
struct mr_cache_entry *entry = &lkp_tbl[idx];
- DEBUG("B-tree(%p)[%u],"
+ DRV_LOG(DEBUG, "B-tree(%p)[%u],"
" [0x%" PRIxPTR ", 0x%" PRIxPTR ") lkey=0x%x",
(void *)bt, idx, entry->start, entry->end, entry->lkey);
}
@@ -543,11 +544,11 @@ mlx5_mr_create_secondary(void *pd __rte_unused,
{
int ret;
- DEBUG("port %u requesting MR creation for address (%p)",
+ DRV_LOG(DEBUG, "port %u requesting MR creation for address (%p)",
mp_id->port_id, (void *)addr);
ret = mlx5_mp_req_mr_create(mp_id, addr);
if (ret) {
- DEBUG("Fail to request MR creation for address (%p)",
+ DRV_LOG(DEBUG, "Fail to request MR creation for address (%p)",
(void *)addr);
return UINT32_MAX;
}
@@ -557,7 +558,7 @@ mlx5_mr_create_secondary(void *pd __rte_unused,
/* Lookup can't fail. */
MLX5_ASSERT(entry->lkey != UINT32_MAX);
rte_rwlock_read_unlock(&share_cache->rwlock);
- DEBUG("MR CREATED by primary process for %p:\n"
+ DRV_LOG(DEBUG, "MR CREATED by primary process for %p:\n"
" [0x%" PRIxPTR ", 0x%" PRIxPTR "), lkey=0x%x",
(void *)addr, entry->start, entry->end, entry->lkey);
return entry->lkey;
@@ -647,7 +648,7 @@ mlx5_mr_create_primary(void *pd,
MLX5_ASSERT(msl->page_sz == ms->hugepage_sz);
/* Number of memsegs in the range. */
ms_n = len / msl->page_sz;
- DEBUG("Extending %p to [0x%" PRIxPTR ", 0x%" PRIxPTR "),"
+ DRV_LOG(DEBUG, "Extending %p to [0x%" PRIxPTR ", 0x%" PRIxPTR "),"
" page_sz=0x%" PRIx64 ", ms_n=%u",
(void *)addr, data.start, data.end, msl->page_sz, ms_n);
/* Size of memory for bitmap. */
@@ -656,7 +657,7 @@ mlx5_mr_create_primary(void *pd,
RTE_ALIGN_CEIL(sizeof(*mr), RTE_CACHE_LINE_SIZE) +
bmp_size, RTE_CACHE_LINE_SIZE, msl->socket_id);
if (mr == NULL) {
- DEBUG("Unable to allocate memory for a new MR of"
+ DRV_LOG(DEBUG, "Unable to allocate memory for a new MR of"
" address (%p).", (void *)addr);
rte_errno = ENOMEM;
goto err_nolock;
@@ -671,7 +672,7 @@ mlx5_mr_create_primary(void *pd,
bmp_mem = RTE_PTR_ALIGN_CEIL(mr + 1, RTE_CACHE_LINE_SIZE);
mr->ms_bmp = rte_bitmap_init(ms_n, bmp_mem, bmp_size);
if (mr->ms_bmp == NULL) {
- DEBUG("Unable to initialize bitmap for a new MR of"
+ DRV_LOG(DEBUG, "Unable to initialize bitmap for a new MR of"
" address (%p).", (void *)addr);
rte_errno = EINVAL;
goto err_nolock;
@@ -688,9 +689,9 @@ mlx5_mr_create_primary(void *pd,
data_re = data;
if (len > msl->page_sz &&
!rte_memseg_contig_walk(mr_find_contig_memsegs_cb, &data_re)) {
- DEBUG("Unable to find virtually contiguous"
- " chunk for address (%p)."
- " rte_memseg_contig_walk() failed.", (void *)addr);
+ DRV_LOG(DEBUG,
+ "Unable to find virtually contiguous chunk for address "
+ "(%p). rte_memseg_contig_walk() failed.", (void *)addr);
rte_errno = ENXIO;
goto err_memlock;
}
@@ -718,7 +719,8 @@ mlx5_mr_create_primary(void *pd,
* here again.
*/
mr_btree_insert(&share_cache->cache, entry);
- DEBUG("Found MR for %p on final lookup, abort", (void *)addr);
+ DRV_LOG(DEBUG, "Found MR for %p on final lookup, abort",
+ (void *)addr);
rte_rwlock_write_unlock(&share_cache->rwlock);
rte_mcfg_mem_read_unlock();
/*
@@ -767,7 +769,7 @@ mlx5_mr_create_primary(void *pd,
*/
share_cache->reg_mr_cb(pd, (void *)data.start, len, &mr->pmd_mr);
if (mr->pmd_mr.obj == NULL) {
- DEBUG("Fail to create an MR for address (%p)",
+ DRV_LOG(DEBUG, "Fail to create an MR for address (%p)",
(void *)addr);
rte_errno = EINVAL;
goto err_mrlock;
@@ -775,7 +777,7 @@ mlx5_mr_create_primary(void *pd,
MLX5_ASSERT((uintptr_t)mr->pmd_mr.addr == data.start);
MLX5_ASSERT(mr->pmd_mr.len);
LIST_INSERT_HEAD(&share_cache->mr_list, mr, mr);
- DEBUG("MR CREATED (%p) for %p:\n"
+ DRV_LOG(DEBUG, "MR CREATED (%p) for %p:\n"
" [0x%" PRIxPTR ", 0x%" PRIxPTR "),"
" lkey=0x%x base_idx=%u ms_n=%u, ms_bmp_n=%u",
(void *)mr, (void *)addr, data.start, data.end,
@@ -1079,7 +1081,7 @@ mlx5_mr_dump_cache(struct mlx5_mr_share_cache *share_cache __rte_unused)
LIST_FOREACH(mr, &share_cache->mr_list, mr) {
unsigned int n;
- DEBUG("MR[%u], LKey = 0x%x, ms_n = %u, ms_bmp_n = %u",
+ DRV_LOG(DEBUG, "MR[%u], LKey = 0x%x, ms_n = %u, ms_bmp_n = %u",
mr_n++, rte_cpu_to_be_32(mr->pmd_mr.lkey),
mr->ms_n, mr->ms_bmp_n);
if (mr->ms_n == 0)
@@ -1090,11 +1092,12 @@ mlx5_mr_dump_cache(struct mlx5_mr_share_cache *share_cache __rte_unused)
n = mr_find_next_chunk(mr, &ret, n);
if (!ret.end)
break;
- DEBUG(" chunk[%u], [0x%" PRIxPTR ", 0x%" PRIxPTR ")",
- chunk_n++, ret.start, ret.end);
+ DRV_LOG(DEBUG,
+ " chunk[%u], [0x%" PRIxPTR ", 0x%" PRIxPTR ")",
+ chunk_n++, ret.start, ret.end);
}
}
- DEBUG("Dumping global cache %p", (void *)share_cache);
+ DRV_LOG(DEBUG, "Dumping global cache %p", (void *)share_cache);
mlx5_mr_btree_dump(&share_cache->cache);
rte_rwlock_read_unlock(&share_cache->rwlock);
#endif
diff --git a/drivers/common/mlx5/mlx5_common_pci.c b/drivers/common/mlx5/mlx5_common_pci.c
index 2b657686d1..a7f541a90c 100644
--- a/drivers/common/mlx5/mlx5_common_pci.c
+++ b/drivers/common/mlx5/mlx5_common_pci.c
@@ -245,14 +245,14 @@ drivers_probe(struct mlx5_pci_device *dev, struct rte_pci_driver *pci_drv,
already_loaded = dev->classes_loaded & driver->driver_class;
if (already_loaded &&
!(driver->pci_driver.drv_flags & RTE_PCI_DRV_PROBE_AGAIN)) {
- DRV_LOG(ERR, "Device %s is already probed\n",
+ DRV_LOG(ERR, "Device %s is already probed",
pci_dev->device.name);
ret = -EEXIST;
goto probe_err;
}
ret = driver->pci_driver.probe(pci_drv, pci_dev);
if (ret < 0) {
- DRV_LOG(ERR, "Failed to load driver = %s.\n",
+ DRV_LOG(ERR, "Failed to load driver %s",
driver->pci_driver.driver.name);
goto probe_err;
}
diff --git a/drivers/net/mlx5/linux/mlx5_verbs.c b/drivers/net/mlx5/linux/mlx5_verbs.c
index ade241b806..c7d4b177a0 100644
--- a/drivers/net/mlx5/linux/mlx5_verbs.c
+++ b/drivers/net/mlx5/linux/mlx5_verbs.c
@@ -721,7 +721,7 @@ mlx5_rxq_ibv_obj_drop_create(struct rte_eth_dev *dev)
return 0;
rxq = mlx5_malloc(MLX5_MEM_ZERO, sizeof(*rxq), 0, SOCKET_ID_ANY);
if (!rxq) {
- DEBUG("Port %u cannot allocate drop Rx queue memory.",
+ DRV_LOG(DEBUG, "Port %u cannot allocate drop Rx queue memory.",
dev->data->port_id);
rte_errno = ENOMEM;
return -rte_errno;
@@ -729,7 +729,7 @@ mlx5_rxq_ibv_obj_drop_create(struct rte_eth_dev *dev)
priv->drop_queue.rxq = rxq;
rxq->ibv_cq = mlx5_glue->create_cq(ctx, 1, NULL, NULL, 0);
if (!rxq->ibv_cq) {
- DEBUG("Port %u cannot allocate CQ for drop queue.",
+ DRV_LOG(DEBUG, "Port %u cannot allocate CQ for drop queue.",
dev->data->port_id);
rte_errno = errno;
goto error;
@@ -742,7 +742,7 @@ mlx5_rxq_ibv_obj_drop_create(struct rte_eth_dev *dev)
.cq = rxq->ibv_cq,
});
if (!rxq->wq) {
- DEBUG("Port %u cannot allocate WQ for drop queue.",
+ DRV_LOG(DEBUG, "Port %u cannot allocate WQ for drop queue.",
dev->data->port_id);
rte_errno = errno;
goto error;
@@ -785,8 +785,9 @@ mlx5_ibv_drop_action_create(struct rte_eth_dev *dev)
.comp_mask = 0,
});
if (!ind_tbl) {
- DEBUG("Port %u cannot allocate indirection table for drop"
- " queue.", dev->data->port_id);
+ DRV_LOG(DEBUG, "Port %u"
+ " cannot allocate indirection table for drop queue.",
+ dev->data->port_id);
rte_errno = errno;
goto error;
}
@@ -806,7 +807,7 @@ mlx5_ibv_drop_action_create(struct rte_eth_dev *dev)
.pd = priv->sh->pd
});
if (!hrxq->qp) {
- DEBUG("Port %u cannot allocate QP for drop queue.",
+ DRV_LOG(DEBUG, "Port %u cannot allocate QP for drop queue.",
dev->data->port_id);
rte_errno = errno;
goto error;
diff --git a/drivers/net/mlx5/mlx5_mr.c b/drivers/net/mlx5/mlx5_mr.c
index da4e91fc24..3255393ca2 100644
--- a/drivers/net/mlx5/mlx5_mr.c
+++ b/drivers/net/mlx5/mlx5_mr.c
@@ -57,7 +57,7 @@ mlx5_mr_mem_event_free_cb(struct mlx5_dev_ctx_shared *sh,
int i;
int rebuild = 0;
- DEBUG("device %s free callback: addr=%p, len=%zu",
+ DRV_LOG(DEBUG, "device %s free callback: addr=%p, len=%zu",
sh->ibdev_name, addr, len);
msl = rte_mem_virt2memseg_list(addr);
/* addr and len must be page-aligned. */
@@ -87,13 +87,13 @@ mlx5_mr_mem_event_free_cb(struct mlx5_dev_ctx_shared *sh,
pos = ms_idx - mr->ms_base_idx;
MLX5_ASSERT(rte_bitmap_get(mr->ms_bmp, pos));
MLX5_ASSERT(pos < mr->ms_bmp_n);
- DEBUG("device %s MR(%p): clear bitmap[%u] for addr %p",
+ DRV_LOG(DEBUG, "device %s MR(%p): clear bitmap[%u] for addr %p",
sh->ibdev_name, (void *)mr, pos, (void *)start);
rte_bitmap_clear(mr->ms_bmp, pos);
if (--mr->ms_n == 0) {
LIST_REMOVE(mr, mr);
LIST_INSERT_HEAD(&sh->share_cache.mr_free_list, mr, mr);
- DEBUG("device %s remove MR(%p) from list",
+ DRV_LOG(DEBUG, "device %s remove MR(%p) from list",
sh->ibdev_name, (void *)mr);
}
/*
@@ -114,7 +114,7 @@ mlx5_mr_mem_event_free_cb(struct mlx5_dev_ctx_shared *sh,
* before the core sees the newly allocated memory.
*/
++sh->share_cache.dev_gen;
- DEBUG("broadcasting local cache flush, gen=%d",
+ DRV_LOG(DEBUG, "broadcasting local cache flush, gen=%d",
sh->share_cache.dev_gen);
rte_smp_wmb();
}
@@ -405,7 +405,7 @@ mlx5_dma_unmap(struct rte_pci_device *pdev, void *addr,
}
LIST_REMOVE(mr, mr);
mlx5_mr_free(mr, sh->share_cache.dereg_mr_cb);
- DEBUG("port %u remove MR(%p) from list", dev->data->port_id,
+ DRV_LOG(DEBUG, "port %u remove MR(%p) from list", dev->data->port_id,
(void *)mr);
mlx5_mr_rebuild_cache(&sh->share_cache);
/*
@@ -418,7 +418,7 @@ mlx5_dma_unmap(struct rte_pci_device *pdev, void *addr,
* before the core sees the newly allocated memory.
*/
++sh->share_cache.dev_gen;
- DEBUG("broadcasting local cache flush, gen=%d",
+ DRV_LOG(DEBUG, "broadcasting local cache flush, gen=%d",
sh->share_cache.dev_gen);
rte_smp_wmb();
rte_rwlock_read_unlock(&sh->share_cache.rwlock);
diff --git a/drivers/net/mlx5/mlx5_rxq.c b/drivers/net/mlx5/mlx5_rxq.c
index 8f9ee97f7a..9009eb8d18 100644
--- a/drivers/net/mlx5/mlx5_rxq.c
+++ b/drivers/net/mlx5/mlx5_rxq.c
@@ -1972,7 +1972,8 @@ mlx5_ind_table_obj_setup(struct rte_eth_dev *dev,
for (j = 0; j < i; j++)
mlx5_rxq_release(dev, ind_tbl->queues[j]);
rte_errno = err;
- DEBUG("Port %u cannot setup indirection table.", dev->data->port_id);
+ DRV_LOG(DEBUG, "Port %u cannot setup indirection table.",
+ dev->data->port_id);
return ret;
}
@@ -2056,8 +2057,9 @@ mlx5_ind_table_obj_modify(struct rte_eth_dev *dev,
* reference unsupported. Intended for standalone indirection
* tables only.
*/
- DEBUG("Port %u cannot modify indirection table (refcnt> 1).",
- dev->data->port_id);
+ DRV_LOG(DEBUG,
+ "Port %u cannot modify indirection table (refcnt> 1).",
+ dev->data->port_id);
rte_errno = EINVAL;
return -rte_errno;
}
@@ -2081,7 +2083,8 @@ mlx5_ind_table_obj_modify(struct rte_eth_dev *dev,
for (j = 0; j < i; j++)
mlx5_rxq_release(dev, ind_tbl->queues[j]);
rte_errno = err;
- DEBUG("Port %u cannot setup indirection table.", dev->data->port_id);
+ DRV_LOG(DEBUG, "Port %u cannot setup indirection table.",
+ dev->data->port_id);
return ret;
}
--
2.30.1
^ permalink raw reply [flat|nested] 19+ messages in thread
* [dpdk-dev] [PATCH 3/3] net/mlx5: reduce log level of alignment message
2021-03-08 22:28 [dpdk-dev] [PATCH 0/3] adjust mlx debug logs Thomas Monjalon
2021-03-08 22:28 ` [dpdk-dev] [PATCH 1/3] net/mlx4: enable debug logs dynamically Thomas Monjalon
2021-03-08 22:28 ` [dpdk-dev] [PATCH 2/3] common/mlx5: " Thomas Monjalon
@ 2021-03-08 22:28 ` Thomas Monjalon
2021-03-09 9:48 ` [dpdk-dev] [PATCH v2 0/4] adjust mlx debug logs Thomas Monjalon
3 siblings, 0 replies; 19+ messages in thread
From: Thomas Monjalon @ 2021-03-08 22:28 UTC (permalink / raw)
To: dev; +Cc: Matan Azrad, Shahaf Shuler, Viacheslav Ovsiienko
Having to force an alignment does not impact the user,
so it should not be a warning.
The log level is reduced from warning to debug.
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
---
drivers/net/mlx5/mlx5_utils.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/net/mlx5/mlx5_utils.c b/drivers/net/mlx5/mlx5_utils.c
index 07373bff02..a39b5edddc 100644
--- a/drivers/net/mlx5/mlx5_utils.c
+++ b/drivers/net/mlx5/mlx5_utils.c
@@ -40,8 +40,8 @@ mlx5_hlist_create(const char *name, uint32_t size, uint32_t entry_size,
/* Align to the next power of 2, 32bits integer is enough now. */
if (!rte_is_power_of_2(size)) {
act_size = rte_align32pow2(size);
- DRV_LOG(WARNING, "Size 0x%" PRIX32 " is not power of 2, will "
- "be aligned to 0x%" PRIX32 ".", size, act_size);
+ DRV_LOG(DEBUG, "Size 0x%" PRIX32 " is not power of 2, "
+ "will be aligned to 0x%" PRIX32 ".", size, act_size);
} else {
act_size = size;
}
--
2.30.1
^ permalink raw reply [flat|nested] 19+ messages in thread
* [dpdk-dev] [PATCH v2 0/4] adjust mlx debug logs
2021-03-08 22:28 [dpdk-dev] [PATCH 0/3] adjust mlx debug logs Thomas Monjalon
` (2 preceding siblings ...)
2021-03-08 22:28 ` [dpdk-dev] [PATCH 3/3] net/mlx5: reduce log level of alignment message Thomas Monjalon
@ 2021-03-09 9:48 ` Thomas Monjalon
2021-03-09 9:48 ` [dpdk-dev] [PATCH v2 1/4] net/mlx4: enable debug logs dynamically Thomas Monjalon
` (4 more replies)
3 siblings, 5 replies; 19+ messages in thread
From: Thomas Monjalon @ 2021-03-09 9:48 UTC (permalink / raw)
To: dev
Few adjustments of debug log usage in mlx4/mlx5.
v2:
- fix a typo in an old log
- separate commit for line feed fixes (and fix more)
Thomas Monjalon (4):
net/mlx4: enable debug logs dynamically
common/mlx5: enable debug logs dynamically
common/mlx5: remove extra line feed in log messages
net/mlx5: reduce log level of alignment message
drivers/common/mlx5/mlx5_common.h | 2 --
drivers/common/mlx5/mlx5_common_mr.c | 45 ++++++++++++++-------------
drivers/common/mlx5/mlx5_common_pci.c | 4 +--
drivers/common/mlx5/mlx5_devx_cmds.c | 2 +-
drivers/compress/mlx5/mlx5_compress.c | 2 +-
drivers/net/mlx4/mlx4_utils.h | 5 ++-
drivers/net/mlx5/linux/mlx5_os.c | 8 ++---
drivers/net/mlx5/linux/mlx5_verbs.c | 13 ++++----
drivers/net/mlx5/mlx5_flow.c | 2 +-
drivers/net/mlx5/mlx5_mr.c | 12 +++----
drivers/net/mlx5/mlx5_rxq.c | 11 ++++---
drivers/net/mlx5/mlx5_utils.c | 4 +--
drivers/net/mlx5/windows/mlx5_os.c | 2 +-
drivers/vdpa/mlx5/mlx5_vdpa.c | 2 +-
14 files changed, 59 insertions(+), 55 deletions(-)
--
2.30.1
^ permalink raw reply [flat|nested] 19+ messages in thread
* [dpdk-dev] [PATCH v2 1/4] net/mlx4: enable debug logs dynamically
2021-03-09 9:48 ` [dpdk-dev] [PATCH v2 0/4] adjust mlx debug logs Thomas Monjalon
@ 2021-03-09 9:48 ` Thomas Monjalon
2021-03-11 20:03 ` Matan Azrad
2021-03-17 17:29 ` Ferruh Yigit
2021-03-09 9:48 ` [dpdk-dev] [PATCH v2 2/4] common/mlx5: " Thomas Monjalon
` (3 subsequent siblings)
4 siblings, 2 replies; 19+ messages in thread
From: Thomas Monjalon @ 2021-03-09 9:48 UTC (permalink / raw)
To: dev; +Cc: Matan Azrad, Shahaf Shuler
The macro DEBUG was doing nothing if not compiled with
RTE_LIBRTE_MLX4_DEBUG.
As it is not used in the data path, it can be always enabled at
compilation time. Then it can be enabled at runtime with:
--log-level pmd.net.mlx4:debug
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
---
drivers/net/mlx4/mlx4_utils.h | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/drivers/net/mlx4/mlx4_utils.h b/drivers/net/mlx4/mlx4_utils.h
index b8769562ab..fca21fd79c 100644
--- a/drivers/net/mlx4/mlx4_utils.h
+++ b/drivers/net/mlx4/mlx4_utils.h
@@ -52,14 +52,13 @@ pmd_drv_log_basename(const char *s)
__LINE__, \
__func__, \
RTE_FMT_TAIL(__VA_ARGS__,)))
-#define DEBUG(...) PMD_DRV_LOG(DEBUG, __VA_ARGS__)
#define MLX4_ASSERT(exp) RTE_VERIFY(exp)
#define claim_zero(...) MLX4_ASSERT((__VA_ARGS__) == 0)
#else /* RTE_LIBRTE_MLX4_DEBUG */
/*
- * Like MLX4_ASSERT(), DEBUG() becomes a no-op and claim_zero() does not perform
+ * Like MLX4_ASSERT(), claim_zero() does not perform
* any check when debugging is disabled.
*/
@@ -68,12 +67,12 @@ pmd_drv_log_basename(const char *s)
RTE_FMT(MLX4_DRIVER_NAME ": " \
RTE_FMT_HEAD(__VA_ARGS__,) "\n", \
RTE_FMT_TAIL(__VA_ARGS__,)))
-#define DEBUG(...) (void)0
#define MLX4_ASSERT(exp) RTE_ASSERT(exp)
#define claim_zero(...) (__VA_ARGS__)
#endif /* RTE_LIBRTE_MLX4_DEBUG */
+#define DEBUG(...) PMD_DRV_LOG(DEBUG, __VA_ARGS__)
#define INFO(...) PMD_DRV_LOG(INFO, __VA_ARGS__)
#define WARN(...) PMD_DRV_LOG(WARNING, __VA_ARGS__)
#define ERROR(...) PMD_DRV_LOG(ERR, __VA_ARGS__)
--
2.30.1
^ permalink raw reply [flat|nested] 19+ messages in thread
* [dpdk-dev] [PATCH v2 2/4] common/mlx5: enable debug logs dynamically
2021-03-09 9:48 ` [dpdk-dev] [PATCH v2 0/4] adjust mlx debug logs Thomas Monjalon
2021-03-09 9:48 ` [dpdk-dev] [PATCH v2 1/4] net/mlx4: enable debug logs dynamically Thomas Monjalon
@ 2021-03-09 9:48 ` Thomas Monjalon
2021-03-11 20:04 ` Matan Azrad
2021-03-17 17:39 ` Ferruh Yigit
2021-03-09 9:48 ` [dpdk-dev] [PATCH v2 3/4] common/mlx5: remove extra line feed in log messages Thomas Monjalon
` (2 subsequent siblings)
4 siblings, 2 replies; 19+ messages in thread
From: Thomas Monjalon @ 2021-03-09 9:48 UTC (permalink / raw)
To: dev; +Cc: Matan Azrad, Shahaf Shuler, Viacheslav Ovsiienko
Most debug logs are using DRV_LOG(DEBUG,)
but some were using DEBUG().
The macro DEBUG is doing nothing if not compiled with
RTE_LIBRTE_MLX5_DEBUG.
As it is not used in the data path, the macro DEBUG
can be replaced with DRV_LOG.
Then all debug logs can be enabled at runtime with:
--log-level pmd.net.mlx5:debug
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
---
drivers/common/mlx5/mlx5_common.h | 2 --
drivers/common/mlx5/mlx5_common_mr.c | 45 +++++++++++++++-------------
drivers/net/mlx5/linux/mlx5_verbs.c | 13 ++++----
drivers/net/mlx5/mlx5_mr.c | 12 ++++----
drivers/net/mlx5/mlx5_rxq.c | 11 ++++---
5 files changed, 44 insertions(+), 39 deletions(-)
diff --git a/drivers/common/mlx5/mlx5_common.h b/drivers/common/mlx5/mlx5_common.h
index 3855582d0d..5028a05b49 100644
--- a/drivers/common/mlx5/mlx5_common.h
+++ b/drivers/common/mlx5/mlx5_common.h
@@ -92,14 +92,12 @@ pmd_drv_log_basename(const char *s)
/* claim_zero() does not perform any check when debugging is disabled. */
#ifdef RTE_LIBRTE_MLX5_DEBUG
-#define DEBUG(...) DRV_LOG(DEBUG, __VA_ARGS__)
#define MLX5_ASSERT(exp) RTE_VERIFY(exp)
#define claim_zero(...) MLX5_ASSERT((__VA_ARGS__) == 0)
#define claim_nonzero(...) MLX5_ASSERT((__VA_ARGS__) != 0)
#else /* RTE_LIBRTE_MLX5_DEBUG */
-#define DEBUG(...) (void)0
#define MLX5_ASSERT(exp) RTE_ASSERT(exp)
#define claim_zero(...) (__VA_ARGS__)
#define claim_nonzero(...) (__VA_ARGS__)
diff --git a/drivers/common/mlx5/mlx5_common_mr.c b/drivers/common/mlx5/mlx5_common_mr.c
index 7c25541dc4..e1ed0caf3a 100644
--- a/drivers/common/mlx5/mlx5_common_mr.c
+++ b/drivers/common/mlx5/mlx5_common_mr.c
@@ -187,8 +187,9 @@ mlx5_mr_btree_init(struct mlx5_mr_btree *bt, int n, int socket)
0, socket);
if (bt->table == NULL) {
rte_errno = ENOMEM;
- DEBUG("failed to allocate memory for btree cache on socket %d",
- socket);
+ DRV_LOG(DEBUG,
+ "failed to allocate memory for btree cache on socket "
+ "%d", socket);
return -rte_errno;
}
bt->size = n;
@@ -196,7 +197,7 @@ mlx5_mr_btree_init(struct mlx5_mr_btree *bt, int n, int socket)
(*bt->table)[bt->len++] = (struct mr_cache_entry) {
.lkey = UINT32_MAX,
};
- DEBUG("initialized B-tree %p with table %p",
+ DRV_LOG(DEBUG, "initialized B-tree %p with table %p",
(void *)bt, (void *)bt->table);
return 0;
}
@@ -212,7 +213,7 @@ mlx5_mr_btree_free(struct mlx5_mr_btree *bt)
{
if (bt == NULL)
return;
- DEBUG("freeing B-tree %p with table %p",
+ DRV_LOG(DEBUG, "freeing B-tree %p with table %p",
(void *)bt, (void *)bt->table);
mlx5_free(bt->table);
memset(bt, 0, sizeof(*bt));
@@ -237,7 +238,7 @@ mlx5_mr_btree_dump(struct mlx5_mr_btree *bt __rte_unused)
for (idx = 0; idx < bt->len; ++idx) {
struct mr_cache_entry *entry = &lkp_tbl[idx];
- DEBUG("B-tree(%p)[%u],"
+ DRV_LOG(DEBUG, "B-tree(%p)[%u],"
" [0x%" PRIxPTR ", 0x%" PRIxPTR ") lkey=0x%x",
(void *)bt, idx, entry->start, entry->end, entry->lkey);
}
@@ -543,11 +544,11 @@ mlx5_mr_create_secondary(void *pd __rte_unused,
{
int ret;
- DEBUG("port %u requesting MR creation for address (%p)",
+ DRV_LOG(DEBUG, "port %u requesting MR creation for address (%p)",
mp_id->port_id, (void *)addr);
ret = mlx5_mp_req_mr_create(mp_id, addr);
if (ret) {
- DEBUG("Fail to request MR creation for address (%p)",
+ DRV_LOG(DEBUG, "Fail to request MR creation for address (%p)",
(void *)addr);
return UINT32_MAX;
}
@@ -557,7 +558,7 @@ mlx5_mr_create_secondary(void *pd __rte_unused,
/* Lookup can't fail. */
MLX5_ASSERT(entry->lkey != UINT32_MAX);
rte_rwlock_read_unlock(&share_cache->rwlock);
- DEBUG("MR CREATED by primary process for %p:\n"
+ DRV_LOG(DEBUG, "MR CREATED by primary process for %p:\n"
" [0x%" PRIxPTR ", 0x%" PRIxPTR "), lkey=0x%x",
(void *)addr, entry->start, entry->end, entry->lkey);
return entry->lkey;
@@ -647,7 +648,7 @@ mlx5_mr_create_primary(void *pd,
MLX5_ASSERT(msl->page_sz == ms->hugepage_sz);
/* Number of memsegs in the range. */
ms_n = len / msl->page_sz;
- DEBUG("Extending %p to [0x%" PRIxPTR ", 0x%" PRIxPTR "),"
+ DRV_LOG(DEBUG, "Extending %p to [0x%" PRIxPTR ", 0x%" PRIxPTR "),"
" page_sz=0x%" PRIx64 ", ms_n=%u",
(void *)addr, data.start, data.end, msl->page_sz, ms_n);
/* Size of memory for bitmap. */
@@ -656,7 +657,7 @@ mlx5_mr_create_primary(void *pd,
RTE_ALIGN_CEIL(sizeof(*mr), RTE_CACHE_LINE_SIZE) +
bmp_size, RTE_CACHE_LINE_SIZE, msl->socket_id);
if (mr == NULL) {
- DEBUG("Unable to allocate memory for a new MR of"
+ DRV_LOG(DEBUG, "Unable to allocate memory for a new MR of"
" address (%p).", (void *)addr);
rte_errno = ENOMEM;
goto err_nolock;
@@ -671,7 +672,7 @@ mlx5_mr_create_primary(void *pd,
bmp_mem = RTE_PTR_ALIGN_CEIL(mr + 1, RTE_CACHE_LINE_SIZE);
mr->ms_bmp = rte_bitmap_init(ms_n, bmp_mem, bmp_size);
if (mr->ms_bmp == NULL) {
- DEBUG("Unable to initialize bitmap for a new MR of"
+ DRV_LOG(DEBUG, "Unable to initialize bitmap for a new MR of"
" address (%p).", (void *)addr);
rte_errno = EINVAL;
goto err_nolock;
@@ -688,9 +689,9 @@ mlx5_mr_create_primary(void *pd,
data_re = data;
if (len > msl->page_sz &&
!rte_memseg_contig_walk(mr_find_contig_memsegs_cb, &data_re)) {
- DEBUG("Unable to find virtually contiguous"
- " chunk for address (%p)."
- " rte_memseg_contig_walk() failed.", (void *)addr);
+ DRV_LOG(DEBUG,
+ "Unable to find virtually contiguous chunk for address "
+ "(%p). rte_memseg_contig_walk() failed.", (void *)addr);
rte_errno = ENXIO;
goto err_memlock;
}
@@ -718,7 +719,8 @@ mlx5_mr_create_primary(void *pd,
* here again.
*/
mr_btree_insert(&share_cache->cache, entry);
- DEBUG("Found MR for %p on final lookup, abort", (void *)addr);
+ DRV_LOG(DEBUG, "Found MR for %p on final lookup, abort",
+ (void *)addr);
rte_rwlock_write_unlock(&share_cache->rwlock);
rte_mcfg_mem_read_unlock();
/*
@@ -767,7 +769,7 @@ mlx5_mr_create_primary(void *pd,
*/
share_cache->reg_mr_cb(pd, (void *)data.start, len, &mr->pmd_mr);
if (mr->pmd_mr.obj == NULL) {
- DEBUG("Fail to create an MR for address (%p)",
+ DRV_LOG(DEBUG, "Fail to create an MR for address (%p)",
(void *)addr);
rte_errno = EINVAL;
goto err_mrlock;
@@ -775,7 +777,7 @@ mlx5_mr_create_primary(void *pd,
MLX5_ASSERT((uintptr_t)mr->pmd_mr.addr == data.start);
MLX5_ASSERT(mr->pmd_mr.len);
LIST_INSERT_HEAD(&share_cache->mr_list, mr, mr);
- DEBUG("MR CREATED (%p) for %p:\n"
+ DRV_LOG(DEBUG, "MR CREATED (%p) for %p:\n"
" [0x%" PRIxPTR ", 0x%" PRIxPTR "),"
" lkey=0x%x base_idx=%u ms_n=%u, ms_bmp_n=%u",
(void *)mr, (void *)addr, data.start, data.end,
@@ -1079,7 +1081,7 @@ mlx5_mr_dump_cache(struct mlx5_mr_share_cache *share_cache __rte_unused)
LIST_FOREACH(mr, &share_cache->mr_list, mr) {
unsigned int n;
- DEBUG("MR[%u], LKey = 0x%x, ms_n = %u, ms_bmp_n = %u",
+ DRV_LOG(DEBUG, "MR[%u], LKey = 0x%x, ms_n = %u, ms_bmp_n = %u",
mr_n++, rte_cpu_to_be_32(mr->pmd_mr.lkey),
mr->ms_n, mr->ms_bmp_n);
if (mr->ms_n == 0)
@@ -1090,11 +1092,12 @@ mlx5_mr_dump_cache(struct mlx5_mr_share_cache *share_cache __rte_unused)
n = mr_find_next_chunk(mr, &ret, n);
if (!ret.end)
break;
- DEBUG(" chunk[%u], [0x%" PRIxPTR ", 0x%" PRIxPTR ")",
- chunk_n++, ret.start, ret.end);
+ DRV_LOG(DEBUG,
+ " chunk[%u], [0x%" PRIxPTR ", 0x%" PRIxPTR ")",
+ chunk_n++, ret.start, ret.end);
}
}
- DEBUG("Dumping global cache %p", (void *)share_cache);
+ DRV_LOG(DEBUG, "Dumping global cache %p", (void *)share_cache);
mlx5_mr_btree_dump(&share_cache->cache);
rte_rwlock_read_unlock(&share_cache->rwlock);
#endif
diff --git a/drivers/net/mlx5/linux/mlx5_verbs.c b/drivers/net/mlx5/linux/mlx5_verbs.c
index ade241b806..c7d4b177a0 100644
--- a/drivers/net/mlx5/linux/mlx5_verbs.c
+++ b/drivers/net/mlx5/linux/mlx5_verbs.c
@@ -721,7 +721,7 @@ mlx5_rxq_ibv_obj_drop_create(struct rte_eth_dev *dev)
return 0;
rxq = mlx5_malloc(MLX5_MEM_ZERO, sizeof(*rxq), 0, SOCKET_ID_ANY);
if (!rxq) {
- DEBUG("Port %u cannot allocate drop Rx queue memory.",
+ DRV_LOG(DEBUG, "Port %u cannot allocate drop Rx queue memory.",
dev->data->port_id);
rte_errno = ENOMEM;
return -rte_errno;
@@ -729,7 +729,7 @@ mlx5_rxq_ibv_obj_drop_create(struct rte_eth_dev *dev)
priv->drop_queue.rxq = rxq;
rxq->ibv_cq = mlx5_glue->create_cq(ctx, 1, NULL, NULL, 0);
if (!rxq->ibv_cq) {
- DEBUG("Port %u cannot allocate CQ for drop queue.",
+ DRV_LOG(DEBUG, "Port %u cannot allocate CQ for drop queue.",
dev->data->port_id);
rte_errno = errno;
goto error;
@@ -742,7 +742,7 @@ mlx5_rxq_ibv_obj_drop_create(struct rte_eth_dev *dev)
.cq = rxq->ibv_cq,
});
if (!rxq->wq) {
- DEBUG("Port %u cannot allocate WQ for drop queue.",
+ DRV_LOG(DEBUG, "Port %u cannot allocate WQ for drop queue.",
dev->data->port_id);
rte_errno = errno;
goto error;
@@ -785,8 +785,9 @@ mlx5_ibv_drop_action_create(struct rte_eth_dev *dev)
.comp_mask = 0,
});
if (!ind_tbl) {
- DEBUG("Port %u cannot allocate indirection table for drop"
- " queue.", dev->data->port_id);
+ DRV_LOG(DEBUG, "Port %u"
+ " cannot allocate indirection table for drop queue.",
+ dev->data->port_id);
rte_errno = errno;
goto error;
}
@@ -806,7 +807,7 @@ mlx5_ibv_drop_action_create(struct rte_eth_dev *dev)
.pd = priv->sh->pd
});
if (!hrxq->qp) {
- DEBUG("Port %u cannot allocate QP for drop queue.",
+ DRV_LOG(DEBUG, "Port %u cannot allocate QP for drop queue.",
dev->data->port_id);
rte_errno = errno;
goto error;
diff --git a/drivers/net/mlx5/mlx5_mr.c b/drivers/net/mlx5/mlx5_mr.c
index da4e91fc24..3255393ca2 100644
--- a/drivers/net/mlx5/mlx5_mr.c
+++ b/drivers/net/mlx5/mlx5_mr.c
@@ -57,7 +57,7 @@ mlx5_mr_mem_event_free_cb(struct mlx5_dev_ctx_shared *sh,
int i;
int rebuild = 0;
- DEBUG("device %s free callback: addr=%p, len=%zu",
+ DRV_LOG(DEBUG, "device %s free callback: addr=%p, len=%zu",
sh->ibdev_name, addr, len);
msl = rte_mem_virt2memseg_list(addr);
/* addr and len must be page-aligned. */
@@ -87,13 +87,13 @@ mlx5_mr_mem_event_free_cb(struct mlx5_dev_ctx_shared *sh,
pos = ms_idx - mr->ms_base_idx;
MLX5_ASSERT(rte_bitmap_get(mr->ms_bmp, pos));
MLX5_ASSERT(pos < mr->ms_bmp_n);
- DEBUG("device %s MR(%p): clear bitmap[%u] for addr %p",
+ DRV_LOG(DEBUG, "device %s MR(%p): clear bitmap[%u] for addr %p",
sh->ibdev_name, (void *)mr, pos, (void *)start);
rte_bitmap_clear(mr->ms_bmp, pos);
if (--mr->ms_n == 0) {
LIST_REMOVE(mr, mr);
LIST_INSERT_HEAD(&sh->share_cache.mr_free_list, mr, mr);
- DEBUG("device %s remove MR(%p) from list",
+ DRV_LOG(DEBUG, "device %s remove MR(%p) from list",
sh->ibdev_name, (void *)mr);
}
/*
@@ -114,7 +114,7 @@ mlx5_mr_mem_event_free_cb(struct mlx5_dev_ctx_shared *sh,
* before the core sees the newly allocated memory.
*/
++sh->share_cache.dev_gen;
- DEBUG("broadcasting local cache flush, gen=%d",
+ DRV_LOG(DEBUG, "broadcasting local cache flush, gen=%d",
sh->share_cache.dev_gen);
rte_smp_wmb();
}
@@ -405,7 +405,7 @@ mlx5_dma_unmap(struct rte_pci_device *pdev, void *addr,
}
LIST_REMOVE(mr, mr);
mlx5_mr_free(mr, sh->share_cache.dereg_mr_cb);
- DEBUG("port %u remove MR(%p) from list", dev->data->port_id,
+ DRV_LOG(DEBUG, "port %u remove MR(%p) from list", dev->data->port_id,
(void *)mr);
mlx5_mr_rebuild_cache(&sh->share_cache);
/*
@@ -418,7 +418,7 @@ mlx5_dma_unmap(struct rte_pci_device *pdev, void *addr,
* before the core sees the newly allocated memory.
*/
++sh->share_cache.dev_gen;
- DEBUG("broadcasting local cache flush, gen=%d",
+ DRV_LOG(DEBUG, "broadcasting local cache flush, gen=%d",
sh->share_cache.dev_gen);
rte_smp_wmb();
rte_rwlock_read_unlock(&sh->share_cache.rwlock);
diff --git a/drivers/net/mlx5/mlx5_rxq.c b/drivers/net/mlx5/mlx5_rxq.c
index 8f9ee97f7a..9009eb8d18 100644
--- a/drivers/net/mlx5/mlx5_rxq.c
+++ b/drivers/net/mlx5/mlx5_rxq.c
@@ -1972,7 +1972,8 @@ mlx5_ind_table_obj_setup(struct rte_eth_dev *dev,
for (j = 0; j < i; j++)
mlx5_rxq_release(dev, ind_tbl->queues[j]);
rte_errno = err;
- DEBUG("Port %u cannot setup indirection table.", dev->data->port_id);
+ DRV_LOG(DEBUG, "Port %u cannot setup indirection table.",
+ dev->data->port_id);
return ret;
}
@@ -2056,8 +2057,9 @@ mlx5_ind_table_obj_modify(struct rte_eth_dev *dev,
* reference unsupported. Intended for standalone indirection
* tables only.
*/
- DEBUG("Port %u cannot modify indirection table (refcnt> 1).",
- dev->data->port_id);
+ DRV_LOG(DEBUG,
+ "Port %u cannot modify indirection table (refcnt> 1).",
+ dev->data->port_id);
rte_errno = EINVAL;
return -rte_errno;
}
@@ -2081,7 +2083,8 @@ mlx5_ind_table_obj_modify(struct rte_eth_dev *dev,
for (j = 0; j < i; j++)
mlx5_rxq_release(dev, ind_tbl->queues[j]);
rte_errno = err;
- DEBUG("Port %u cannot setup indirection table.", dev->data->port_id);
+ DRV_LOG(DEBUG, "Port %u cannot setup indirection table.",
+ dev->data->port_id);
return ret;
}
--
2.30.1
^ permalink raw reply [flat|nested] 19+ messages in thread
* [dpdk-dev] [PATCH v2 3/4] common/mlx5: remove extra line feed in log messages
2021-03-09 9:48 ` [dpdk-dev] [PATCH v2 0/4] adjust mlx debug logs Thomas Monjalon
2021-03-09 9:48 ` [dpdk-dev] [PATCH v2 1/4] net/mlx4: enable debug logs dynamically Thomas Monjalon
2021-03-09 9:48 ` [dpdk-dev] [PATCH v2 2/4] common/mlx5: " Thomas Monjalon
@ 2021-03-09 9:48 ` Thomas Monjalon
2021-03-11 20:05 ` Matan Azrad
2021-03-09 9:48 ` [dpdk-dev] [PATCH v2 4/4] net/mlx5: reduce log level of alignment message Thomas Monjalon
2021-03-16 9:04 ` [dpdk-dev] [PATCH v2 0/4] adjust mlx debug logs Raslan Darawsheh
4 siblings, 1 reply; 19+ messages in thread
From: Thomas Monjalon @ 2021-03-09 9:48 UTC (permalink / raw)
To: dev
Cc: Matan Azrad, Shahaf Shuler, Viacheslav Ovsiienko, Fiona Trahe,
Ashish Gupta
The macro DRV_LOG already includes a terminating line feed character
defined in PMD_DRV_LOG_.
The extra line feeds added in some messages are removed.
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
---
drivers/common/mlx5/mlx5_common_pci.c | 4 ++--
drivers/common/mlx5/mlx5_devx_cmds.c | 2 +-
drivers/compress/mlx5/mlx5_compress.c | 2 +-
drivers/net/mlx5/linux/mlx5_os.c | 8 ++++----
drivers/net/mlx5/mlx5_flow.c | 2 +-
drivers/net/mlx5/windows/mlx5_os.c | 2 +-
drivers/vdpa/mlx5/mlx5_vdpa.c | 2 +-
7 files changed, 11 insertions(+), 11 deletions(-)
diff --git a/drivers/common/mlx5/mlx5_common_pci.c b/drivers/common/mlx5/mlx5_common_pci.c
index 2b657686d1..a7f541a90c 100644
--- a/drivers/common/mlx5/mlx5_common_pci.c
+++ b/drivers/common/mlx5/mlx5_common_pci.c
@@ -245,14 +245,14 @@ drivers_probe(struct mlx5_pci_device *dev, struct rte_pci_driver *pci_drv,
already_loaded = dev->classes_loaded & driver->driver_class;
if (already_loaded &&
!(driver->pci_driver.drv_flags & RTE_PCI_DRV_PROBE_AGAIN)) {
- DRV_LOG(ERR, "Device %s is already probed\n",
+ DRV_LOG(ERR, "Device %s is already probed",
pci_dev->device.name);
ret = -EEXIST;
goto probe_err;
}
ret = driver->pci_driver.probe(pci_drv, pci_dev);
if (ret < 0) {
- DRV_LOG(ERR, "Failed to load driver = %s.\n",
+ DRV_LOG(ERR, "Failed to load driver %s",
driver->pci_driver.driver.name);
goto probe_err;
}
diff --git a/drivers/common/mlx5/mlx5_devx_cmds.c b/drivers/common/mlx5/mlx5_devx_cmds.c
index 0060c37fc0..8df14f5b7d 100644
--- a/drivers/common/mlx5/mlx5_devx_cmds.c
+++ b/drivers/common/mlx5/mlx5_devx_cmds.c
@@ -275,7 +275,7 @@ mlx5_devx_cmd_mkey_create(void *ctx,
mkey->obj = mlx5_glue->devx_obj_create(ctx, in, in_size_dw * 4, out,
sizeof(out));
if (!mkey->obj) {
- DRV_LOG(ERR, "Can't create %sdirect mkey - error %d\n",
+ DRV_LOG(ERR, "Can't create %sdirect mkey - error %d",
klm_num ? "an in" : "a ", errno);
rte_errno = errno;
mlx5_free(mkey);
diff --git a/drivers/compress/mlx5/mlx5_compress.c b/drivers/compress/mlx5/mlx5_compress.c
index 46255ab5e0..85238accff 100644
--- a/drivers/compress/mlx5/mlx5_compress.c
+++ b/drivers/compress/mlx5/mlx5_compress.c
@@ -257,7 +257,7 @@ mlx5_compress_qp_setup(struct rte_compressdev *dev, uint16_t qp_id,
DRV_LOG(ERR, "Can't change SQ state to ready.");
goto err;
}
- DRV_LOG(INFO, "QP %u: SQN=0x%X CQN=0x%X entries num = %u\n",
+ DRV_LOG(INFO, "QP %u: SQN=0x%X CQN=0x%X entries num = %u",
(uint32_t)qp_id, qp->sq.sq->id, qp->cq.cq->id, qp->entries_n);
return 0;
err:
diff --git a/drivers/net/mlx5/linux/mlx5_os.c b/drivers/net/mlx5/linux/mlx5_os.c
index 81eb2e4b05..b03cafda6a 100644
--- a/drivers/net/mlx5/linux/mlx5_os.c
+++ b/drivers/net/mlx5/linux/mlx5_os.c
@@ -1233,14 +1233,14 @@ mlx5_dev_spawn(struct rte_device *dpdk_dev,
if (config->hca_attr.log_max_ft_sampler_num > 0 &&
config->dv_flow_en) {
priv->sampler_en = 1;
- DRV_LOG(DEBUG, "The Sampler enabled!\n");
+ DRV_LOG(DEBUG, "Sampler enabled!");
} else {
priv->sampler_en = 0;
if (!config->hca_attr.log_max_ft_sampler_num)
- DRV_LOG(WARNING, "No available register for"
- " Sampler.");
+ DRV_LOG(WARNING,
+ "No available register for sampler.");
else
- DRV_LOG(DEBUG, "DV flow is not supported!\n");
+ DRV_LOG(DEBUG, "DV flow is not supported!");
}
#endif
}
diff --git a/drivers/net/mlx5/mlx5_flow.c b/drivers/net/mlx5/mlx5_flow.c
index ab5be3dacc..773f3e63f4 100644
--- a/drivers/net/mlx5/mlx5_flow.c
+++ b/drivers/net/mlx5/mlx5_flow.c
@@ -7924,7 +7924,7 @@ void mlx5_release_tunnel_hub(struct mlx5_dev_ctx_shared *sh, uint16_t port_id)
if (!thub)
return;
if (!LIST_EMPTY(&thub->tunnels))
- DRV_LOG(WARNING, "port %u tunnels present\n", port_id);
+ DRV_LOG(WARNING, "port %u tunnels present", port_id);
mlx5_hlist_destroy(thub->groups);
mlx5_free(thub);
}
diff --git a/drivers/net/mlx5/windows/mlx5_os.c b/drivers/net/mlx5/windows/mlx5_os.c
index e37cc65c17..e7db85b757 100644
--- a/drivers/net/mlx5/windows/mlx5_os.c
+++ b/drivers/net/mlx5/windows/mlx5_os.c
@@ -165,7 +165,7 @@ mlx5_alloc_shared_dr(struct mlx5_priv *priv)
if (!sh->flow_tbls)
err = mlx5_alloc_table_hash_list(priv);
else
- DRV_LOG(DEBUG, "sh->flow_tbls[%p] already created, reuse\n",
+ DRV_LOG(DEBUG, "sh->flow_tbls[%p] already created, reuse",
(void *)sh->flow_tbls);
return err;
}
diff --git a/drivers/vdpa/mlx5/mlx5_vdpa.c b/drivers/vdpa/mlx5/mlx5_vdpa.c
index 4c2d886bd7..5755a68ec4 100644
--- a/drivers/vdpa/mlx5/mlx5_vdpa.c
+++ b/drivers/vdpa/mlx5/mlx5_vdpa.c
@@ -751,7 +751,7 @@ mlx5_vdpa_pci_probe(struct rte_pci_driver *pci_drv __rte_unused,
priv->pci_dev = pci_dev;
priv->var = mlx5_glue->dv_alloc_var(ctx, 0);
if (!priv->var) {
- DRV_LOG(ERR, "Failed to allocate VAR %u.\n", errno);
+ DRV_LOG(ERR, "Failed to allocate VAR %u.", errno);
goto error;
}
priv->vdev = rte_vdpa_register_device(&pci_dev->device,
--
2.30.1
^ permalink raw reply [flat|nested] 19+ messages in thread
* [dpdk-dev] [PATCH v2 4/4] net/mlx5: reduce log level of alignment message
2021-03-09 9:48 ` [dpdk-dev] [PATCH v2 0/4] adjust mlx debug logs Thomas Monjalon
` (2 preceding siblings ...)
2021-03-09 9:48 ` [dpdk-dev] [PATCH v2 3/4] common/mlx5: remove extra line feed in log messages Thomas Monjalon
@ 2021-03-09 9:48 ` Thomas Monjalon
2021-03-11 20:07 ` Matan Azrad
2021-03-16 9:04 ` [dpdk-dev] [PATCH v2 0/4] adjust mlx debug logs Raslan Darawsheh
4 siblings, 1 reply; 19+ messages in thread
From: Thomas Monjalon @ 2021-03-09 9:48 UTC (permalink / raw)
To: dev; +Cc: Matan Azrad, Shahaf Shuler, Viacheslav Ovsiienko
Having to force an alignment does not impact the user,
so it should not be a warning.
The log level is reduced from warning to debug.
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
---
drivers/net/mlx5/mlx5_utils.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/net/mlx5/mlx5_utils.c b/drivers/net/mlx5/mlx5_utils.c
index 07373bff02..a39b5edddc 100644
--- a/drivers/net/mlx5/mlx5_utils.c
+++ b/drivers/net/mlx5/mlx5_utils.c
@@ -40,8 +40,8 @@ mlx5_hlist_create(const char *name, uint32_t size, uint32_t entry_size,
/* Align to the next power of 2, 32bits integer is enough now. */
if (!rte_is_power_of_2(size)) {
act_size = rte_align32pow2(size);
- DRV_LOG(WARNING, "Size 0x%" PRIX32 " is not power of 2, will "
- "be aligned to 0x%" PRIX32 ".", size, act_size);
+ DRV_LOG(DEBUG, "Size 0x%" PRIX32 " is not power of 2, "
+ "will be aligned to 0x%" PRIX32 ".", size, act_size);
} else {
act_size = size;
}
--
2.30.1
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [dpdk-dev] [PATCH v2 1/4] net/mlx4: enable debug logs dynamically
2021-03-09 9:48 ` [dpdk-dev] [PATCH v2 1/4] net/mlx4: enable debug logs dynamically Thomas Monjalon
@ 2021-03-11 20:03 ` Matan Azrad
2021-03-17 17:29 ` Ferruh Yigit
1 sibling, 0 replies; 19+ messages in thread
From: Matan Azrad @ 2021-03-11 20:03 UTC (permalink / raw)
To: NBU-Contact-Thomas Monjalon, dev; +Cc: Shahaf Shuler
From: Thomas Monjalon
> The macro DEBUG was doing nothing if not compiled with
> RTE_LIBRTE_MLX4_DEBUG.
>
> As it is not used in the data path, it can be always enabled at compilation time.
> Then it can be enabled at runtime with:
> --log-level pmd.net.mlx4:debug
>
> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Matan Azrad <matan@nvidia.com>
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [dpdk-dev] [PATCH v2 2/4] common/mlx5: enable debug logs dynamically
2021-03-09 9:48 ` [dpdk-dev] [PATCH v2 2/4] common/mlx5: " Thomas Monjalon
@ 2021-03-11 20:04 ` Matan Azrad
2021-03-17 17:39 ` Ferruh Yigit
1 sibling, 0 replies; 19+ messages in thread
From: Matan Azrad @ 2021-03-11 20:04 UTC (permalink / raw)
To: NBU-Contact-Thomas Monjalon, dev; +Cc: Shahaf Shuler, Slava Ovsiienko
From: Thomas Monjalon
> Most debug logs are using DRV_LOG(DEBUG,) but some were using DEBUG().
> The macro DEBUG is doing nothing if not compiled with
> RTE_LIBRTE_MLX5_DEBUG.
>
> As it is not used in the data path, the macro DEBUG can be replaced with
> DRV_LOG.
> Then all debug logs can be enabled at runtime with:
> --log-level pmd.net.mlx5:debug
>
> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Matan Azrad <matan@nvidia.com>
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [dpdk-dev] [PATCH v2 3/4] common/mlx5: remove extra line feed in log messages
2021-03-09 9:48 ` [dpdk-dev] [PATCH v2 3/4] common/mlx5: remove extra line feed in log messages Thomas Monjalon
@ 2021-03-11 20:05 ` Matan Azrad
0 siblings, 0 replies; 19+ messages in thread
From: Matan Azrad @ 2021-03-11 20:05 UTC (permalink / raw)
To: NBU-Contact-Thomas Monjalon, dev
Cc: Shahaf Shuler, Slava Ovsiienko, Fiona Trahe, Ashish Gupta
From: Thomas Monjalon
> The macro DRV_LOG already includes a terminating line feed character
> defined in PMD_DRV_LOG_.
> The extra line feeds added in some messages are removed.
>
> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Matan Azrad <matan@nvidia.com>
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [dpdk-dev] [PATCH v2 4/4] net/mlx5: reduce log level of alignment message
2021-03-09 9:48 ` [dpdk-dev] [PATCH v2 4/4] net/mlx5: reduce log level of alignment message Thomas Monjalon
@ 2021-03-11 20:07 ` Matan Azrad
0 siblings, 0 replies; 19+ messages in thread
From: Matan Azrad @ 2021-03-11 20:07 UTC (permalink / raw)
To: NBU-Contact-Thomas Monjalon, dev; +Cc: Shahaf Shuler, Slava Ovsiienko
From: Thomas Monjalon
> Having to force an alignment does not impact the user, so it should not be a
> warning.
> The log level is reduced from warning to debug.
>
> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Matan Azrad <matan@nvidia.com>
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [dpdk-dev] [PATCH v2 0/4] adjust mlx debug logs
2021-03-09 9:48 ` [dpdk-dev] [PATCH v2 0/4] adjust mlx debug logs Thomas Monjalon
` (3 preceding siblings ...)
2021-03-09 9:48 ` [dpdk-dev] [PATCH v2 4/4] net/mlx5: reduce log level of alignment message Thomas Monjalon
@ 2021-03-16 9:04 ` Raslan Darawsheh
4 siblings, 0 replies; 19+ messages in thread
From: Raslan Darawsheh @ 2021-03-16 9:04 UTC (permalink / raw)
To: NBU-Contact-Thomas Monjalon, dev
Hi,
> -----Original Message-----
> From: dev <dev-bounces@dpdk.org> On Behalf Of Thomas Monjalon
> Sent: Tuesday, March 9, 2021 11:49 AM
> To: dev@dpdk.org
> Subject: [dpdk-dev] [PATCH v2 0/4] adjust mlx debug logs
>
> Few adjustments of debug log usage in mlx4/mlx5.
>
> v2:
> - fix a typo in an old log
> - separate commit for line feed fixes (and fix more)
>
> Thomas Monjalon (4):
> net/mlx4: enable debug logs dynamically
> common/mlx5: enable debug logs dynamically
> common/mlx5: remove extra line feed in log messages
> net/mlx5: reduce log level of alignment message
>
> drivers/common/mlx5/mlx5_common.h | 2 --
> drivers/common/mlx5/mlx5_common_mr.c | 45 ++++++++++++++----------
> ---
> drivers/common/mlx5/mlx5_common_pci.c | 4 +--
> drivers/common/mlx5/mlx5_devx_cmds.c | 2 +-
> drivers/compress/mlx5/mlx5_compress.c | 2 +-
> drivers/net/mlx4/mlx4_utils.h | 5 ++-
> drivers/net/mlx5/linux/mlx5_os.c | 8 ++---
> drivers/net/mlx5/linux/mlx5_verbs.c | 13 ++++----
> drivers/net/mlx5/mlx5_flow.c | 2 +-
> drivers/net/mlx5/mlx5_mr.c | 12 +++----
> drivers/net/mlx5/mlx5_rxq.c | 11 ++++---
> drivers/net/mlx5/mlx5_utils.c | 4 +--
> drivers/net/mlx5/windows/mlx5_os.c | 2 +-
> drivers/vdpa/mlx5/mlx5_vdpa.c | 2 +-
> 14 files changed, 59 insertions(+), 55 deletions(-)
>
> --
> 2.30.1
Series applied to next-net-mlx,
Kindest regards,
Raslan Darawsheh
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [dpdk-dev] [PATCH v2 1/4] net/mlx4: enable debug logs dynamically
2021-03-09 9:48 ` [dpdk-dev] [PATCH v2 1/4] net/mlx4: enable debug logs dynamically Thomas Monjalon
2021-03-11 20:03 ` Matan Azrad
@ 2021-03-17 17:29 ` Ferruh Yigit
2021-03-17 17:47 ` Thomas Monjalon
1 sibling, 1 reply; 19+ messages in thread
From: Ferruh Yigit @ 2021-03-17 17:29 UTC (permalink / raw)
To: Thomas Monjalon, dev; +Cc: Matan Azrad, Shahaf Shuler
On 3/9/2021 9:48 AM, Thomas Monjalon wrote:
> The macro DEBUG was doing nothing if not compiled with
> RTE_LIBRTE_MLX4_DEBUG.
>
> As it is not used in the data path, it can be always enabled at
> compilation time. Then it can be enabled at runtime with:
> --log-level pmd.net.mlx4:debug
>
> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
+1 to change, but why 'RTE_LIBRTE_MLX4_DEBUG' exists at first place?
It seems is is used both for data and control path, can you extend the patch for:
1- Remove #ifdef from control path
2- Replace with 'RTE_ETHDEV_DEBUG_RX' & 'RTE_ETHDEV_DEBUG_TX' for data path,
please see: https://patches.dpdk.org/project/dpdk/list/?series=15738
3- Remove 'RTE_LIBRTE_MLX4_DEBUG' completely, if not removed document it in the
driver documentation as supported config file
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [dpdk-dev] [PATCH v2 2/4] common/mlx5: enable debug logs dynamically
2021-03-09 9:48 ` [dpdk-dev] [PATCH v2 2/4] common/mlx5: " Thomas Monjalon
2021-03-11 20:04 ` Matan Azrad
@ 2021-03-17 17:39 ` Ferruh Yigit
2021-03-17 17:48 ` Thomas Monjalon
1 sibling, 1 reply; 19+ messages in thread
From: Ferruh Yigit @ 2021-03-17 17:39 UTC (permalink / raw)
To: Thomas Monjalon, dev; +Cc: Matan Azrad, Shahaf Shuler, Viacheslav Ovsiienko
On 3/9/2021 9:48 AM, Thomas Monjalon wrote:
> Most debug logs are using DRV_LOG(DEBUG,)
> but some were using DEBUG().
> The macro DEBUG is doing nothing if not compiled with
> RTE_LIBRTE_MLX5_DEBUG.
>
> As it is not used in the data path, the macro DEBUG
> can be replaced with DRV_LOG.
> Then all debug logs can be enabled at runtime with:
> --log-level pmd.net.mlx5:debug
>
> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Similar comment for the mlx4 one, copying here:
Why 'RTE_LIBRTE_MLX5_DEBUG' exists at first place?
It seems is is used both for data and control path, can you extend the patch for:
1- Remove #ifdef from control path
2- Replace with 'RTE_ETHDEV_DEBUG_RX' & 'RTE_ETHDEV_DEBUG_TX' for data path,
please see: https://patches.dpdk.org/project/dpdk/list/?series=15738
3- Remove 'RTE_LIBRTE_MLX5_DEBUG' completely, if not removed document it in the
driver documentation as supported config file
Both for 'mlx4' and 'mlx5', I will continue with existing patch, but can it be
possible to make additional patches to address above issues?
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [dpdk-dev] [PATCH v2 1/4] net/mlx4: enable debug logs dynamically
2021-03-17 17:29 ` Ferruh Yigit
@ 2021-03-17 17:47 ` Thomas Monjalon
0 siblings, 0 replies; 19+ messages in thread
From: Thomas Monjalon @ 2021-03-17 17:47 UTC (permalink / raw)
To: Ferruh Yigit, Matan Azrad; +Cc: dev, Shahaf Shuler
17/03/2021 18:29, Ferruh Yigit:
> On 3/9/2021 9:48 AM, Thomas Monjalon wrote:
> > The macro DEBUG was doing nothing if not compiled with
> > RTE_LIBRTE_MLX4_DEBUG.
> >
> > As it is not used in the data path, it can be always enabled at
> > compilation time. Then it can be enabled at runtime with:
> > --log-level pmd.net.mlx4:debug
> >
> > Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
>
> +1 to change, but why 'RTE_LIBRTE_MLX4_DEBUG' exists at first place?
>
> It seems is is used both for data and control path, can you extend the patch for:
> 1- Remove #ifdef from control path
> 2- Replace with 'RTE_ETHDEV_DEBUG_RX' & 'RTE_ETHDEV_DEBUG_TX' for data path,
> please see: https://patches.dpdk.org/project/dpdk/list/?series=15738
> 3- Remove 'RTE_LIBRTE_MLX4_DEBUG' completely, if not removed document it in the
> driver documentation as supported config file
To me using ETHDEV config macro in PMDs is new,
and I think it is out of scope for this patch.
But yes I agree it would be a nice improvement.
Matan, please could you do this change during next month?
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [dpdk-dev] [PATCH v2 2/4] common/mlx5: enable debug logs dynamically
2021-03-17 17:39 ` Ferruh Yigit
@ 2021-03-17 17:48 ` Thomas Monjalon
2021-03-18 10:13 ` Matan Azrad
0 siblings, 1 reply; 19+ messages in thread
From: Thomas Monjalon @ 2021-03-17 17:48 UTC (permalink / raw)
To: dev, Ferruh Yigit, Matan Azrad, Viacheslav Ovsiienko; +Cc: Shahaf Shuler
17/03/2021 18:39, Ferruh Yigit:
> On 3/9/2021 9:48 AM, Thomas Monjalon wrote:
> > Most debug logs are using DRV_LOG(DEBUG,)
> > but some were using DEBUG().
> > The macro DEBUG is doing nothing if not compiled with
> > RTE_LIBRTE_MLX5_DEBUG.
> >
> > As it is not used in the data path, the macro DEBUG
> > can be replaced with DRV_LOG.
> > Then all debug logs can be enabled at runtime with:
> > --log-level pmd.net.mlx5:debug
> >
> > Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
>
> Similar comment for the mlx4 one, copying here:
>
> Why 'RTE_LIBRTE_MLX5_DEBUG' exists at first place?
>
> It seems is is used both for data and control path, can you extend the patch for:
> 1- Remove #ifdef from control path
> 2- Replace with 'RTE_ETHDEV_DEBUG_RX' & 'RTE_ETHDEV_DEBUG_TX' for data path,
> please see: https://patches.dpdk.org/project/dpdk/list/?series=15738
> 3- Remove 'RTE_LIBRTE_MLX5_DEBUG' completely, if not removed document it in the
> driver documentation as supported config file
>
> Both for 'mlx4' and 'mlx5', I will continue with existing patch, but can it be
> possible to make additional patches to address above issues?
Same answer as for mlx4 :)
To me using ETHDEV config macro in PMDs is new,
and I think it is out of scope for this patch.
But yes I agree it would be a nice improvement.
Matan, Slave, please could you do this change during next month?
^ permalink raw reply [flat|nested] 19+ messages in thread
* Re: [dpdk-dev] [PATCH v2 2/4] common/mlx5: enable debug logs dynamically
2021-03-17 17:48 ` Thomas Monjalon
@ 2021-03-18 10:13 ` Matan Azrad
0 siblings, 0 replies; 19+ messages in thread
From: Matan Azrad @ 2021-03-18 10:13 UTC (permalink / raw)
To: NBU-Contact-Thomas Monjalon, dev, Ferruh Yigit, Slava Ovsiienko
Cc: Shahaf Shuler
From: Thomas Monjalon
> 17/03/2021 18:39, Ferruh Yigit:
> > On 3/9/2021 9:48 AM, Thomas Monjalon wrote:
> > > Most debug logs are using DRV_LOG(DEBUG,) but some were using
> > > DEBUG().
> > > The macro DEBUG is doing nothing if not compiled with
> > > RTE_LIBRTE_MLX5_DEBUG.
> > >
> > > As it is not used in the data path, the macro DEBUG can be replaced
> > > with DRV_LOG.
> > > Then all debug logs can be enabled at runtime with:
> > > --log-level pmd.net.mlx5:debug
> > >
> > > Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
> >
> > Similar comment for the mlx4 one, copying here:
> >
> > Why 'RTE_LIBRTE_MLX5_DEBUG' exists at first place?
> >
> > It seems is is used both for data and control path, can you extend the patch
> for:
> > 1- Remove #ifdef from control path
> > 2- Replace with 'RTE_ETHDEV_DEBUG_RX' & 'RTE_ETHDEV_DEBUG_TX' for
> data path,
> > please see:
> > https://patches.dpdk.org/project/dpdk/list/?series=15738
> > 3- Remove 'RTE_LIBRTE_MLX5_DEBUG' completely, if not removed
> document it in the
> > driver documentation as supported config file
> >
> > Both for 'mlx4' and 'mlx5', I will continue with existing patch, but
> > can it be possible to make additional patches to address above issues?
>
> Same answer as for mlx4 :)
> To me using ETHDEV config macro in PMDs is new, and I think it is out of scope
> for this patch.
> But yes I agree it would be a nice improvement.
> Matan, Slave, please could you do this change during next month?
Yes, good suggestion, will add to our tasks.
Thanks Thomas\Ferruh.
Matan
^ permalink raw reply [flat|nested] 19+ messages in thread
end of thread, other threads:[~2021-03-18 10:13 UTC | newest]
Thread overview: 19+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-03-08 22:28 [dpdk-dev] [PATCH 0/3] adjust mlx debug logs Thomas Monjalon
2021-03-08 22:28 ` [dpdk-dev] [PATCH 1/3] net/mlx4: enable debug logs dynamically Thomas Monjalon
2021-03-08 22:28 ` [dpdk-dev] [PATCH 2/3] common/mlx5: " Thomas Monjalon
2021-03-08 22:28 ` [dpdk-dev] [PATCH 3/3] net/mlx5: reduce log level of alignment message Thomas Monjalon
2021-03-09 9:48 ` [dpdk-dev] [PATCH v2 0/4] adjust mlx debug logs Thomas Monjalon
2021-03-09 9:48 ` [dpdk-dev] [PATCH v2 1/4] net/mlx4: enable debug logs dynamically Thomas Monjalon
2021-03-11 20:03 ` Matan Azrad
2021-03-17 17:29 ` Ferruh Yigit
2021-03-17 17:47 ` Thomas Monjalon
2021-03-09 9:48 ` [dpdk-dev] [PATCH v2 2/4] common/mlx5: " Thomas Monjalon
2021-03-11 20:04 ` Matan Azrad
2021-03-17 17:39 ` Ferruh Yigit
2021-03-17 17:48 ` Thomas Monjalon
2021-03-18 10:13 ` Matan Azrad
2021-03-09 9:48 ` [dpdk-dev] [PATCH v2 3/4] common/mlx5: remove extra line feed in log messages Thomas Monjalon
2021-03-11 20:05 ` Matan Azrad
2021-03-09 9:48 ` [dpdk-dev] [PATCH v2 4/4] net/mlx5: reduce log level of alignment message Thomas Monjalon
2021-03-11 20:07 ` Matan Azrad
2021-03-16 9:04 ` [dpdk-dev] [PATCH v2 0/4] adjust mlx debug logs Raslan Darawsheh
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).