From: Stephen Hemminger <stephen@networkplumber.org>
To: dev@dpdk.org
Cc: Stephen Hemminger <stephen@networkplumber.org>,
Olivier Matz <olivier.matz@6wind.com>
Subject: [PATCH] mbuf: replace RTE_LOGTYPE_MBUF with dynamic type
Date: Mon, 6 Feb 2023 09:39:41 -0800 [thread overview]
Message-ID: <20230206173941.783305-1-stephen@networkplumber.org> (raw)
Introduce a new dynamic logtype for mbuf related messages.
Since this is used in multiple files put one macro in mbuf_log.h
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
---
lib/mbuf/mbuf_log.h | 10 ++++++++++
lib/mbuf/rte_mbuf.c | 20 ++++++++++++--------
lib/mbuf/rte_mbuf_dyn.c | 14 +++++++-------
lib/mbuf/rte_mbuf_pool_ops.c | 5 +++--
4 files changed, 32 insertions(+), 17 deletions(-)
create mode 100644 lib/mbuf/mbuf_log.h
diff --git a/lib/mbuf/mbuf_log.h b/lib/mbuf/mbuf_log.h
new file mode 100644
index 000000000000..fe97f338c9b7
--- /dev/null
+++ b/lib/mbuf/mbuf_log.h
@@ -0,0 +1,10 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(c) 2010-2014 Intel Corporation.
+ * Copyright 2014 6WIND S.A.
+ */
+
+extern int mbuf_logtype;
+
+#define MBUF_LOG(level, fmt, args...) \
+ rte_log(RTE_LOG_ ## level, mbuf_logtype, \
+ "%s(): " fmt "\n", __func__, ##args)
diff --git a/lib/mbuf/rte_mbuf.c b/lib/mbuf/rte_mbuf.c
index cfd8062f1e6a..64847afbf931 100644
--- a/lib/mbuf/rte_mbuf.c
+++ b/lib/mbuf/rte_mbuf.c
@@ -20,6 +20,8 @@
#include <rte_errno.h>
#include <rte_memcpy.h>
+#include "mbuf_log.h"
+
/*
* pktmbuf pool constructor, given as a callback function to
* rte_mempool_create(), or called directly if using
@@ -227,8 +229,8 @@ rte_pktmbuf_pool_create_by_ops(const char *name, unsigned int n,
int ret;
if (RTE_ALIGN(priv_size, RTE_MBUF_PRIV_ALIGN) != priv_size) {
- RTE_LOG(ERR, MBUF, "mbuf priv_size=%u is not aligned\n",
- priv_size);
+ MBUF_LOG(ERR, "mbuf priv_size=%u is not aligned",
+ priv_size);
rte_errno = EINVAL;
return NULL;
}
@@ -247,7 +249,7 @@ rte_pktmbuf_pool_create_by_ops(const char *name, unsigned int n,
mp_ops_name = rte_mbuf_best_mempool_ops();
ret = rte_mempool_set_ops_byname(mp, mp_ops_name, NULL);
if (ret != 0) {
- RTE_LOG(ERR, MBUF, "error setting mempool handler\n");
+ MBUF_LOG(ERR, "error setting mempool handler");
rte_mempool_free(mp);
rte_errno = -ret;
return NULL;
@@ -293,7 +295,7 @@ rte_pktmbuf_pool_create_extbuf(const char *name, unsigned int n,
int ret;
if (RTE_ALIGN(priv_size, RTE_MBUF_PRIV_ALIGN) != priv_size) {
- RTE_LOG(ERR, MBUF, "mbuf priv_size=%u is not aligned\n",
+ MBUF_LOG(ERR, "mbuf priv_size=%u is not aligned",
priv_size);
rte_errno = EINVAL;
return NULL;
@@ -303,12 +305,12 @@ rte_pktmbuf_pool_create_extbuf(const char *name, unsigned int n,
const struct rte_pktmbuf_extmem *extm = ext_mem + i;
if (!extm->elt_size || !extm->buf_len || !extm->buf_ptr) {
- RTE_LOG(ERR, MBUF, "invalid extmem descriptor\n");
+ MBUF_LOG(ERR, "invalid extmem descriptor");
rte_errno = EINVAL;
return NULL;
}
if (data_room_size > extm->elt_size) {
- RTE_LOG(ERR, MBUF, "ext elt_size=%u is too small\n",
+ MBUF_LOG(ERR, "ext elt_size=%u is too small",
priv_size);
rte_errno = EINVAL;
return NULL;
@@ -317,7 +319,7 @@ rte_pktmbuf_pool_create_extbuf(const char *name, unsigned int n,
}
/* Check whether enough external memory provided. */
if (n_elts < n) {
- RTE_LOG(ERR, MBUF, "not enough extmem\n");
+ MBUF_LOG(ERR, "not enough extmem");
rte_errno = ENOMEM;
return NULL;
}
@@ -338,7 +340,7 @@ rte_pktmbuf_pool_create_extbuf(const char *name, unsigned int n,
mp_ops_name = rte_mbuf_best_mempool_ops();
ret = rte_mempool_set_ops_byname(mp, mp_ops_name, NULL);
if (ret != 0) {
- RTE_LOG(ERR, MBUF, "error setting mempool handler\n");
+ MBUF_LOG(ERR, "error setting mempool handler");
rte_mempool_free(mp);
rte_errno = -ret;
return NULL;
@@ -936,3 +938,5 @@ rte_get_tx_ol_flag_list(uint64_t mask, char *buf, size_t buflen)
return 0;
}
+
+RTE_LOG_REGISTER(mbuf_logtype, "lib/mbuf", INFO);
diff --git a/lib/mbuf/rte_mbuf_dyn.c b/lib/mbuf/rte_mbuf_dyn.c
index 35839e938cc5..d8da912c8df0 100644
--- a/lib/mbuf/rte_mbuf_dyn.c
+++ b/lib/mbuf/rte_mbuf_dyn.c
@@ -17,6 +17,8 @@
#include <rte_mbuf.h>
#include <rte_mbuf_dyn.h>
+#include "mbuf_log.h"
+
#define RTE_MBUF_DYN_MZNAME "rte_mbuf_dyn"
struct mbuf_dynfield_elt {
@@ -116,7 +118,7 @@ init_shared_mem(void)
mz = rte_memzone_lookup(RTE_MBUF_DYN_MZNAME);
}
if (mz == NULL) {
- RTE_LOG(ERR, MBUF, "Failed to get mbuf dyn shared memory\n");
+ MBUF_LOG(ERR, "Failed to get mbuf dyn shared memory");
return -1;
}
@@ -315,7 +317,7 @@ __rte_mbuf_dynfield_register_offset(const struct rte_mbuf_dynfield *params,
shm->free_space[i] = 0;
process_score();
- RTE_LOG(DEBUG, MBUF, "Registered dynamic field %s (sz=%zu, al=%zu, fl=0x%x) -> %zd\n",
+ MBUF_LOG(DEBUG,"Registered dynamic field %s (sz=%zu, al=%zu, fl=0x%x) -> %zd",
params->name, params->size, params->align, params->flags,
offset);
@@ -489,7 +491,7 @@ __rte_mbuf_dynflag_register_bitnum(const struct rte_mbuf_dynflag *params,
shm->free_flags &= ~(1ULL << bitnum);
- RTE_LOG(DEBUG, MBUF, "Registered dynamic flag %s (fl=0x%x) -> %u\n",
+ MBUF_LOG(DEBUG, "Registered dynamic flag %s (fl=0x%x) -> %u",
params->name, params->flags, bitnum);
return bitnum;
@@ -590,8 +592,7 @@ rte_mbuf_dyn_timestamp_register(int *field_offset, uint64_t *flag,
offset = rte_mbuf_dynfield_register(&field_desc);
if (offset < 0) {
- RTE_LOG(ERR, MBUF,
- "Failed to register mbuf field for timestamp\n");
+ MBUF_LOG(ERR, "Failed to register mbuf field for timestamp");
return -1;
}
if (field_offset != NULL)
@@ -600,8 +601,7 @@ rte_mbuf_dyn_timestamp_register(int *field_offset, uint64_t *flag,
strlcpy(flag_desc.name, flag_name, sizeof(flag_desc.name));
offset = rte_mbuf_dynflag_register(&flag_desc);
if (offset < 0) {
- RTE_LOG(ERR, MBUF,
- "Failed to register mbuf flag for %s timestamp\n",
+ MBUF_LOG(ERR, "Failed to register mbuf flag for %s timestamp",
direction);
return -1;
}
diff --git a/lib/mbuf/rte_mbuf_pool_ops.c b/lib/mbuf/rte_mbuf_pool_ops.c
index 4c91f4ce8569..8ec2710dc86d 100644
--- a/lib/mbuf/rte_mbuf_pool_ops.c
+++ b/lib/mbuf/rte_mbuf_pool_ops.c
@@ -8,6 +8,8 @@
#include <rte_errno.h>
#include <rte_mbuf_pool_ops.h>
+#include "mbuf_log.h"
+
int
rte_mbuf_set_platform_mempool_ops(const char *ops_name)
{
@@ -31,8 +33,7 @@ rte_mbuf_set_platform_mempool_ops(const char *ops_name)
return 0;
}
- RTE_LOG(ERR, MBUF,
- "%s is already registered as platform mbuf pool ops\n",
+ MBUF_LOG(ERR, "%s is already registered as platform mbuf pool ops",
(char *)mz->addr);
return -EEXIST;
}
--
2.39.0
next reply other threads:[~2023-02-06 17:39 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-02-06 17:39 Stephen Hemminger [this message]
2023-02-07 8:24 ` Morten Brørup
2023-02-07 8:34 ` David Marchand
2023-02-07 16:19 ` Stephen Hemminger
2023-02-07 16:41 ` David Marchand
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230206173941.783305-1-stephen@networkplumber.org \
--to=stephen@networkplumber.org \
--cc=dev@dpdk.org \
--cc=olivier.matz@6wind.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).