patches for DPDK stable branches
 help / color / mirror / Atom feed
From: Xueming Li <xuemingl@nvidia.com>
To: David Marchand <david.marchand@redhat.com>
Cc: "Stephen Hemminger" <stephen@networkplumber.org>,
	"Chengwen Feng" <fengchengwen@huawei.com>,
	"Mattias Rönnblom" <mattias.ronnblom@ericsson.com>,
	"dpdk stable" <stable@dpdk.org>
Subject: patch 'lib: remove redundant newline from logs' has been queued to stable release 23.11.1
Date: Tue, 5 Mar 2024 17:45:48 +0800	[thread overview]
Message-ID: <20240305094757.439387-8-xuemingl@nvidia.com> (raw)
In-Reply-To: <20240305094757.439387-1-xuemingl@nvidia.com>

Hi,

FYI, your patch has been queued to stable release 23.11.1

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 03/31/24. So please
shout if anyone has objections.

Also note that after the patch there's a diff of the upstream commit vs the
patch applied to the branch. This will indicate if there was any rebasing
needed to apply to the stable branch. If there were code changes for rebasing
(ie: not only metadata diffs), please double check that the rebase was
correctly done.

Queued patches are on a temporary branch at:
https://git.dpdk.org/dpdk-stable/log/?h=23.11-staging

This queued commit can be viewed at:
https://git.dpdk.org/dpdk-stable/commit/?h=23.11-staging&id=fd6f07da946292d1637b7fd4ae42fd08d2c5bb84

Thanks.

Xueming Li <xuemingl@nvidia.com>

---
From fd6f07da946292d1637b7fd4ae42fd08d2c5bb84 Mon Sep 17 00:00:00 2001
From: David Marchand <david.marchand@redhat.com>
Date: Fri, 17 Nov 2023 14:18:22 +0100
Subject: [PATCH] lib: remove redundant newline from logs
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: Xueming Li <xuemingl@nvidia.com>

[ upstream commit ae282b0611c33aa73a01ee6137d116155053b835 ]

Fix places where two newline characters may be logged.

Signed-off-by: David Marchand <david.marchand@redhat.com>
Acked-by: Stephen Hemminger <stephen@networkplumber.org>
Reviewed-by: Chengwen Feng <fengchengwen@huawei.com>
Acked-by: Mattias Rönnblom <mattias.ronnblom@ericsson.com>
---
 drivers/crypto/ipsec_mb/ipsec_mb_ops.c  |   2 +-
 lib/bbdev/rte_bbdev.c                   |   6 +-
 lib/cfgfile/rte_cfgfile.c               |  14 ++--
 lib/compressdev/rte_compressdev_pmd.c   |   4 +-
 lib/cryptodev/rte_cryptodev.c           |   2 +-
 lib/dispatcher/rte_dispatcher.c         |  12 +--
 lib/dmadev/rte_dmadev.c                 |   2 +-
 lib/eal/windows/eal_memory.c            |   2 +-
 lib/eventdev/eventdev_pmd.h             |   6 +-
 lib/eventdev/rte_event_crypto_adapter.c |  12 +--
 lib/eventdev/rte_event_dma_adapter.c    |  14 ++--
 lib/eventdev/rte_event_eth_rx_adapter.c |  28 +++----
 lib/eventdev/rte_event_eth_tx_adapter.c |   2 +-
 lib/eventdev/rte_event_timer_adapter.c  |   4 +-
 lib/eventdev/rte_eventdev.c             |   4 +-
 lib/metrics/rte_metrics_telemetry.c     |   2 +-
 lib/mldev/rte_mldev.c                   | 102 ++++++++++++------------
 lib/net/rte_net_crc.c                   |   6 +-
 lib/node/ethdev_rx.c                    |   4 +-
 lib/node/ip4_lookup.c                   |   2 +-
 lib/node/ip6_lookup.c                   |   2 +-
 lib/node/kernel_rx.c                    |   8 +-
 lib/node/kernel_tx.c                    |   4 +-
 lib/rcu/rte_rcu_qsbr.c                  |   4 +-
 lib/rcu/rte_rcu_qsbr.h                  |   8 +-
 lib/stack/rte_stack.c                   |   8 +-
 lib/vhost/vhost_crypto.c                |   6 +-
 27 files changed, 135 insertions(+), 135 deletions(-)

diff --git a/drivers/crypto/ipsec_mb/ipsec_mb_ops.c b/drivers/crypto/ipsec_mb/ipsec_mb_ops.c
index 30f919cd40..2a5599b7d8 100644
--- a/drivers/crypto/ipsec_mb/ipsec_mb_ops.c
+++ b/drivers/crypto/ipsec_mb/ipsec_mb_ops.c
@@ -406,7 +406,7 @@ ipsec_mb_ipc_request(const struct rte_mp_msg *mp_msg, const void *peer)
 		resp_param->result = ipsec_mb_qp_release(dev, qp_id);
 		break;
 	default:
-		CDEV_LOG_ERR("invalid mp request type\n");
+		CDEV_LOG_ERR("invalid mp request type");
 	}

 out:
diff --git a/lib/bbdev/rte_bbdev.c b/lib/bbdev/rte_bbdev.c
index cfebea09c7..e09bb97abb 100644
--- a/lib/bbdev/rte_bbdev.c
+++ b/lib/bbdev/rte_bbdev.c
@@ -1106,12 +1106,12 @@ rte_bbdev_queue_intr_ctl(uint16_t dev_id, uint16_t queue_id, int epfd, int op,

 	intr_handle = dev->intr_handle;
 	if (intr_handle == NULL) {
-		rte_bbdev_log(ERR, "Device %u intr handle unset\n", dev_id);
+		rte_bbdev_log(ERR, "Device %u intr handle unset", dev_id);
 		return -ENOTSUP;
 	}

 	if (queue_id >= RTE_MAX_RXTX_INTR_VEC_ID) {
-		rte_bbdev_log(ERR, "Device %u queue_id %u is too big\n",
+		rte_bbdev_log(ERR, "Device %u queue_id %u is too big",
 				dev_id, queue_id);
 		return -ENOTSUP;
 	}
@@ -1120,7 +1120,7 @@ rte_bbdev_queue_intr_ctl(uint16_t dev_id, uint16_t queue_id, int epfd, int op,
 	ret = rte_intr_rx_ctl(intr_handle, epfd, op, vec, data);
 	if (ret && (ret != -EEXIST)) {
 		rte_bbdev_log(ERR,
-				"dev %u q %u int ctl error op %d epfd %d vec %u\n",
+				"dev %u q %u int ctl error op %d epfd %d vec %u",
 				dev_id, queue_id, op, epfd, vec);
 		return ret;
 	}
diff --git a/lib/cfgfile/rte_cfgfile.c b/lib/cfgfile/rte_cfgfile.c
index eefba6e408..2f9cc0722a 100644
--- a/lib/cfgfile/rte_cfgfile.c
+++ b/lib/cfgfile/rte_cfgfile.c
@@ -137,7 +137,7 @@ rte_cfgfile_check_params(const struct rte_cfgfile_parameters *params)
 	unsigned int i;

 	if (!params) {
-		CFG_LOG(ERR, "missing cfgfile parameters\n");
+		CFG_LOG(ERR, "missing cfgfile parameters");
 		return -EINVAL;
 	}

@@ -150,7 +150,7 @@ rte_cfgfile_check_params(const struct rte_cfgfile_parameters *params)
 	}

 	if (valid_comment == 0)	{
-		CFG_LOG(ERR, "invalid comment characters %c\n",
+		CFG_LOG(ERR, "invalid comment characters %c",
 		       params->comment_character);
 		return -ENOTSUP;
 	}
@@ -188,7 +188,7 @@ rte_cfgfile_load_with_params(const char *filename, int flags,
 		lineno++;
 		if ((len >= sizeof(buffer) - 1) && (buffer[len-1] != '\n')) {
 			CFG_LOG(ERR, " line %d - no \\n found on string. "
-					"Check if line too long\n", lineno);
+					"Check if line too long", lineno);
 			goto error1;
 		}
 		/* skip parsing if comment character found */
@@ -209,7 +209,7 @@ rte_cfgfile_load_with_params(const char *filename, int flags,
 			char *end = memchr(buffer, ']', len);
 			if (end == NULL) {
 				CFG_LOG(ERR,
-					"line %d - no terminating ']' character found\n",
+					"line %d - no terminating ']' character found",
 					lineno);
 				goto error1;
 			}
@@ -225,7 +225,7 @@ rte_cfgfile_load_with_params(const char *filename, int flags,
 			split[1] = memchr(buffer, '=', len);
 			if (split[1] == NULL) {
 				CFG_LOG(ERR,
-					"line %d - no '=' character found\n",
+					"line %d - no '=' character found",
 					lineno);
 				goto error1;
 			}
@@ -249,7 +249,7 @@ rte_cfgfile_load_with_params(const char *filename, int flags,
 			if (!(flags & CFG_FLAG_EMPTY_VALUES) &&
 					(*split[1] == '\0')) {
 				CFG_LOG(ERR,
-					"line %d - cannot use empty values\n",
+					"line %d - cannot use empty values",
 					lineno);
 				goto error1;
 			}
@@ -414,7 +414,7 @@ int rte_cfgfile_set_entry(struct rte_cfgfile *cfg, const char *sectionname,
 			return 0;
 		}

-	CFG_LOG(ERR, "entry name doesn't exist\n");
+	CFG_LOG(ERR, "entry name doesn't exist");
 	return -EINVAL;
 }

diff --git a/lib/compressdev/rte_compressdev_pmd.c b/lib/compressdev/rte_compressdev_pmd.c
index 156bccd972..762b44f03e 100644
--- a/lib/compressdev/rte_compressdev_pmd.c
+++ b/lib/compressdev/rte_compressdev_pmd.c
@@ -100,12 +100,12 @@ rte_compressdev_pmd_create(const char *name,
 	struct rte_compressdev *compressdev;

 	if (params->name[0] != '\0') {
-		COMPRESSDEV_LOG(INFO, "User specified device name = %s\n",
+		COMPRESSDEV_LOG(INFO, "User specified device name = %s",
 				params->name);
 		name = params->name;
 	}

-	COMPRESSDEV_LOG(INFO, "Creating compressdev %s\n", name);
+	COMPRESSDEV_LOG(INFO, "Creating compressdev %s", name);

 	COMPRESSDEV_LOG(INFO, "Init parameters - name: %s, socket id: %d",
 			name, params->socket_id);
diff --git a/lib/cryptodev/rte_cryptodev.c b/lib/cryptodev/rte_cryptodev.c
index d8769f0b8d..a3a8fc9c07 100644
--- a/lib/cryptodev/rte_cryptodev.c
+++ b/lib/cryptodev/rte_cryptodev.c
@@ -2072,7 +2072,7 @@ rte_cryptodev_sym_session_create(uint8_t dev_id,
 	}

 	if (xforms == NULL) {
-		CDEV_LOG_ERR("Invalid xform\n");
+		CDEV_LOG_ERR("Invalid xform");
 		rte_errno = EINVAL;
 		return NULL;
 	}
diff --git a/lib/dispatcher/rte_dispatcher.c b/lib/dispatcher/rte_dispatcher.c
index 10d02edde9..95dd41b818 100644
--- a/lib/dispatcher/rte_dispatcher.c
+++ b/lib/dispatcher/rte_dispatcher.c
@@ -246,7 +246,7 @@ evd_service_register(struct rte_dispatcher *dispatcher)
 	rc = rte_service_component_register(&service, &dispatcher->service_id);
 	if (rc != 0)
 		RTE_EDEV_LOG_ERR("Registration of dispatcher service "
-				 "%s failed with error code %d\n",
+				 "%s failed with error code %d",
 				 service.name, rc);

 	return rc;
@@ -260,7 +260,7 @@ evd_service_unregister(struct rte_dispatcher *dispatcher)
 	rc = rte_service_component_unregister(dispatcher->service_id);
 	if (rc != 0)
 		RTE_EDEV_LOG_ERR("Unregistration of dispatcher service "
-				 "failed with error code %d\n", rc);
+				 "failed with error code %d", rc);

 	return rc;
 }
@@ -279,7 +279,7 @@ rte_dispatcher_create(uint8_t event_dev_id)
 				  RTE_CACHE_LINE_SIZE, socket_id);

 	if (dispatcher == NULL) {
-		RTE_EDEV_LOG_ERR("Unable to allocate memory for dispatcher\n");
+		RTE_EDEV_LOG_ERR("Unable to allocate memory for dispatcher");
 		rte_errno = ENOMEM;
 		return NULL;
 	}
@@ -483,7 +483,7 @@ evd_lcore_uninstall_handler(struct rte_dispatcher_lcore *lcore,
 	unreg_handler = evd_lcore_get_handler_by_id(lcore, handler_id);

 	if (unreg_handler == NULL) {
-		RTE_EDEV_LOG_ERR("Invalid handler id %d\n", handler_id);
+		RTE_EDEV_LOG_ERR("Invalid handler id %d", handler_id);
 		return -EINVAL;
 	}

@@ -602,7 +602,7 @@ rte_dispatcher_finalize_unregister(struct rte_dispatcher *dispatcher,
 	unreg_finalizer = evd_get_finalizer_by_id(dispatcher, finalizer_id);

 	if (unreg_finalizer == NULL) {
-		RTE_EDEV_LOG_ERR("Invalid finalizer id %d\n", finalizer_id);
+		RTE_EDEV_LOG_ERR("Invalid finalizer id %d", finalizer_id);
 		return -EINVAL;
 	}

@@ -636,7 +636,7 @@ evd_set_service_runstate(struct rte_dispatcher *dispatcher, int state)
 	 */
 	if (rc != 0)
 		RTE_EDEV_LOG_ERR("Unexpected error %d occurred while setting "
-				 "service component run state to %d\n", rc,
+				 "service component run state to %d", rc,
 				 state);

 	RTE_VERIFY(rc == 0);
diff --git a/lib/dmadev/rte_dmadev.c b/lib/dmadev/rte_dmadev.c
index 4e5e420c82..009a21849a 100644
--- a/lib/dmadev/rte_dmadev.c
+++ b/lib/dmadev/rte_dmadev.c
@@ -726,7 +726,7 @@ rte_dma_vchan_status(int16_t dev_id, uint16_t vchan, enum rte_dma_vchan_status *
 		return -EINVAL;

 	if (vchan >= dev->data->dev_conf.nb_vchans) {
-		RTE_DMA_LOG(ERR, "Device %u vchan %u out of range\n", dev_id, vchan);
+		RTE_DMA_LOG(ERR, "Device %u vchan %u out of range", dev_id, vchan);
 		return -EINVAL;
 	}

diff --git a/lib/eal/windows/eal_memory.c b/lib/eal/windows/eal_memory.c
index 31410a41fd..fd39155163 100644
--- a/lib/eal/windows/eal_memory.c
+++ b/lib/eal/windows/eal_memory.c
@@ -110,7 +110,7 @@ eal_mem_win32api_init(void)
 	VirtualAlloc2_ptr = (VirtualAlloc2_type)(
 		(void *)GetProcAddress(library, function));
 	if (VirtualAlloc2_ptr == NULL) {
-		RTE_LOG_WIN32_ERR("GetProcAddress(\"%s\", \"%s\")\n",
+		RTE_LOG_WIN32_ERR("GetProcAddress(\"%s\", \"%s\")",
 			library_name, function);

 		/* Contrary to the docs, Server 2016 is not supported. */
diff --git a/lib/eventdev/eventdev_pmd.h b/lib/eventdev/eventdev_pmd.h
index 30bd90085c..2ec5aec0a8 100644
--- a/lib/eventdev/eventdev_pmd.h
+++ b/lib/eventdev/eventdev_pmd.h
@@ -49,14 +49,14 @@ extern "C" {
 /* Macros to check for valid device */
 #define RTE_EVENTDEV_VALID_DEVID_OR_ERR_RET(dev_id, retval) do { \
 	if (!rte_event_pmd_is_valid_dev((dev_id))) { \
-		RTE_EDEV_LOG_ERR("Invalid dev_id=%d\n", dev_id); \
+		RTE_EDEV_LOG_ERR("Invalid dev_id=%d", dev_id); \
 		return retval; \
 	} \
 } while (0)

 #define RTE_EVENTDEV_VALID_DEVID_OR_ERRNO_RET(dev_id, errno, retval) do { \
 	if (!rte_event_pmd_is_valid_dev((dev_id))) { \
-		RTE_EDEV_LOG_ERR("Invalid dev_id=%d\n", dev_id); \
+		RTE_EDEV_LOG_ERR("Invalid dev_id=%d", dev_id); \
 		rte_errno = errno; \
 		return retval; \
 	} \
@@ -64,7 +64,7 @@ extern "C" {

 #define RTE_EVENTDEV_VALID_DEVID_OR_RET(dev_id) do { \
 	if (!rte_event_pmd_is_valid_dev((dev_id))) { \
-		RTE_EDEV_LOG_ERR("Invalid dev_id=%d\n", dev_id); \
+		RTE_EDEV_LOG_ERR("Invalid dev_id=%d", dev_id); \
 		return; \
 	} \
 } while (0)
diff --git a/lib/eventdev/rte_event_crypto_adapter.c b/lib/eventdev/rte_event_crypto_adapter.c
index 1b435c9f0e..d46595d190 100644
--- a/lib/eventdev/rte_event_crypto_adapter.c
+++ b/lib/eventdev/rte_event_crypto_adapter.c
@@ -133,7 +133,7 @@ static struct event_crypto_adapter **event_crypto_adapter;
 /* Macros to check for valid adapter */
 #define EVENT_CRYPTO_ADAPTER_ID_VALID_OR_ERR_RET(id, retval) do { \
 	if (!eca_valid_id(id)) { \
-		RTE_EDEV_LOG_ERR("Invalid crypto adapter id = %d\n", id); \
+		RTE_EDEV_LOG_ERR("Invalid crypto adapter id = %d", id); \
 		return retval; \
 	} \
 } while (0)
@@ -309,7 +309,7 @@ eca_default_config_cb(uint8_t id, uint8_t dev_id,

 	ret = rte_event_dev_configure(dev_id, &dev_conf);
 	if (ret) {
-		RTE_EDEV_LOG_ERR("failed to configure event dev %u\n", dev_id);
+		RTE_EDEV_LOG_ERR("failed to configure event dev %u", dev_id);
 		if (started) {
 			if (rte_event_dev_start(dev_id))
 				return -EIO;
@@ -319,7 +319,7 @@ eca_default_config_cb(uint8_t id, uint8_t dev_id,

 	ret = rte_event_port_setup(dev_id, port_id, port_conf);
 	if (ret) {
-		RTE_EDEV_LOG_ERR("failed to setup event port %u\n", port_id);
+		RTE_EDEV_LOG_ERR("failed to setup event port %u", port_id);
 		return ret;
 	}

@@ -391,7 +391,7 @@ rte_event_crypto_adapter_create_ext(uint8_t id, uint8_t dev_id,
 					sizeof(struct crypto_device_info), 0,
 					socket_id);
 	if (adapter->cdevs == NULL) {
-		RTE_EDEV_LOG_ERR("Failed to get mem for crypto devices\n");
+		RTE_EDEV_LOG_ERR("Failed to get mem for crypto devices");
 		eca_circular_buffer_free(&adapter->ebuf);
 		rte_free(adapter);
 		return -ENOMEM;
@@ -1403,7 +1403,7 @@ rte_event_crypto_adapter_runtime_params_set(uint8_t id,
 	EVENT_CRYPTO_ADAPTER_ID_VALID_OR_ERR_RET(id, -EINVAL);

 	if (params == NULL) {
-		RTE_EDEV_LOG_ERR("params pointer is NULL\n");
+		RTE_EDEV_LOG_ERR("params pointer is NULL");
 		return -EINVAL;
 	}

@@ -1436,7 +1436,7 @@ rte_event_crypto_adapter_runtime_params_get(uint8_t id,
 	EVENT_CRYPTO_ADAPTER_ID_VALID_OR_ERR_RET(id, -EINVAL);

 	if (params == NULL) {
-		RTE_EDEV_LOG_ERR("params pointer is NULL\n");
+		RTE_EDEV_LOG_ERR("params pointer is NULL");
 		return -EINVAL;
 	}

diff --git a/lib/eventdev/rte_event_dma_adapter.c b/lib/eventdev/rte_event_dma_adapter.c
index cbf9405438..4196164305 100644
--- a/lib/eventdev/rte_event_dma_adapter.c
+++ b/lib/eventdev/rte_event_dma_adapter.c
@@ -20,7 +20,7 @@
 #define EVENT_DMA_ADAPTER_ID_VALID_OR_ERR_RET(id, retval) \
 	do { \
 		if (!edma_adapter_valid_id(id)) { \
-			RTE_EDEV_LOG_ERR("Invalid DMA adapter id = %d\n", id); \
+			RTE_EDEV_LOG_ERR("Invalid DMA adapter id = %d", id); \
 			return retval; \
 		} \
 	} while (0)
@@ -313,7 +313,7 @@ edma_default_config_cb(uint8_t id, uint8_t evdev_id, struct rte_event_dma_adapte

 	ret = rte_event_dev_configure(evdev_id, &dev_conf);
 	if (ret) {
-		RTE_EDEV_LOG_ERR("Failed to configure event dev %u\n", evdev_id);
+		RTE_EDEV_LOG_ERR("Failed to configure event dev %u", evdev_id);
 		if (started) {
 			if (rte_event_dev_start(evdev_id))
 				return -EIO;
@@ -323,7 +323,7 @@ edma_default_config_cb(uint8_t id, uint8_t evdev_id, struct rte_event_dma_adapte

 	ret = rte_event_port_setup(evdev_id, port_id, port_conf);
 	if (ret) {
-		RTE_EDEV_LOG_ERR("Failed to setup event port %u\n", port_id);
+		RTE_EDEV_LOG_ERR("Failed to setup event port %u", port_id);
 		return ret;
 	}

@@ -407,7 +407,7 @@ rte_event_dma_adapter_create_ext(uint8_t id, uint8_t evdev_id,
 					       num_dma_dev * sizeof(struct dma_device_info), 0,
 					       socket_id);
 	if (adapter->dma_devs == NULL) {
-		RTE_EDEV_LOG_ERR("Failed to get memory for DMA devices\n");
+		RTE_EDEV_LOG_ERR("Failed to get memory for DMA devices");
 		edma_circular_buffer_free(&adapter->ebuf);
 		rte_free(adapter);
 		return -ENOMEM;
@@ -417,7 +417,7 @@ rte_event_dma_adapter_create_ext(uint8_t id, uint8_t evdev_id,
 	for (i = 0; i < num_dma_dev; i++) {
 		ret = rte_dma_info_get(i, &info);
 		if (ret) {
-			RTE_EDEV_LOG_ERR("Failed to get dma device info\n");
+			RTE_EDEV_LOG_ERR("Failed to get dma device info");
 			edma_circular_buffer_free(&adapter->ebuf);
 			rte_free(adapter);
 			return ret;
@@ -1297,7 +1297,7 @@ rte_event_dma_adapter_runtime_params_set(uint8_t id,
 	EVENT_DMA_ADAPTER_ID_VALID_OR_ERR_RET(id, -EINVAL);

 	if (params == NULL) {
-		RTE_EDEV_LOG_ERR("params pointer is NULL\n");
+		RTE_EDEV_LOG_ERR("params pointer is NULL");
 		return -EINVAL;
 	}

@@ -1326,7 +1326,7 @@ rte_event_dma_adapter_runtime_params_get(uint8_t id,
 	EVENT_DMA_ADAPTER_ID_VALID_OR_ERR_RET(id, -EINVAL);

 	if (params == NULL) {
-		RTE_EDEV_LOG_ERR("params pointer is NULL\n");
+		RTE_EDEV_LOG_ERR("params pointer is NULL");
 		return -EINVAL;
 	}

diff --git a/lib/eventdev/rte_event_eth_rx_adapter.c b/lib/eventdev/rte_event_eth_rx_adapter.c
index 82ae31712d..1b83a55b5c 100644
--- a/lib/eventdev/rte_event_eth_rx_adapter.c
+++ b/lib/eventdev/rte_event_eth_rx_adapter.c
@@ -293,14 +293,14 @@ rxa_event_buf_get(struct event_eth_rx_adapter *rx_adapter, uint16_t eth_dev_id,

 #define RTE_EVENT_ETH_RX_ADAPTER_ID_VALID_OR_ERR_RET(id, retval) do { \
 	if (!rxa_validate_id(id)) { \
-		RTE_EDEV_LOG_ERR("Invalid eth Rx adapter id = %d\n", id); \
+		RTE_EDEV_LOG_ERR("Invalid eth Rx adapter id = %d", id); \
 		return retval; \
 	} \
 } while (0)

 #define RTE_EVENT_ETH_RX_ADAPTER_ID_VALID_OR_GOTO_ERR_RET(id, retval) do { \
 	if (!rxa_validate_id(id)) { \
-		RTE_EDEV_LOG_ERR("Invalid eth Rx adapter id = %d\n", id); \
+		RTE_EDEV_LOG_ERR("Invalid eth Rx adapter id = %d", id); \
 		ret = retval; \
 		goto error; \
 	} \
@@ -308,7 +308,7 @@ rxa_event_buf_get(struct event_eth_rx_adapter *rx_adapter, uint16_t eth_dev_id,

 #define RTE_EVENT_ETH_RX_ADAPTER_TOKEN_VALID_OR_GOTO_ERR_RET(token, retval) do { \
 	if ((token) == NULL || strlen(token) == 0 || !isdigit(*token)) { \
-		RTE_EDEV_LOG_ERR("Invalid eth Rx adapter token\n"); \
+		RTE_EDEV_LOG_ERR("Invalid eth Rx adapter token"); \
 		ret = retval; \
 		goto error; \
 	} \
@@ -1540,7 +1540,7 @@ rxa_default_conf_cb(uint8_t id, uint8_t dev_id,

 	ret = rte_event_dev_configure(dev_id, &dev_conf);
 	if (ret) {
-		RTE_EDEV_LOG_ERR("failed to configure event dev %u\n",
+		RTE_EDEV_LOG_ERR("failed to configure event dev %u",
 						dev_id);
 		if (started) {
 			if (rte_event_dev_start(dev_id))
@@ -1551,7 +1551,7 @@ rxa_default_conf_cb(uint8_t id, uint8_t dev_id,

 	ret = rte_event_port_setup(dev_id, port_id, port_conf);
 	if (ret) {
-		RTE_EDEV_LOG_ERR("failed to setup event port %u\n",
+		RTE_EDEV_LOG_ERR("failed to setup event port %u",
 					port_id);
 		return ret;
 	}
@@ -1628,7 +1628,7 @@ rxa_create_intr_thread(struct event_eth_rx_adapter *rx_adapter)
 	if (!err)
 		return 0;

-	RTE_EDEV_LOG_ERR("Failed to create interrupt thread err = %d\n", err);
+	RTE_EDEV_LOG_ERR("Failed to create interrupt thread err = %d", err);
 	rte_free(rx_adapter->epoll_events);
 error:
 	rte_ring_free(rx_adapter->intr_ring);
@@ -1644,12 +1644,12 @@ rxa_destroy_intr_thread(struct event_eth_rx_adapter *rx_adapter)

 	err = pthread_cancel((pthread_t)rx_adapter->rx_intr_thread.opaque_id);
 	if (err)
-		RTE_EDEV_LOG_ERR("Can't cancel interrupt thread err = %d\n",
+		RTE_EDEV_LOG_ERR("Can't cancel interrupt thread err = %d",
 				err);

 	err = rte_thread_join(rx_adapter->rx_intr_thread, NULL);
 	if (err)
-		RTE_EDEV_LOG_ERR("Can't join interrupt thread err = %d\n", err);
+		RTE_EDEV_LOG_ERR("Can't join interrupt thread err = %d", err);

 	rte_free(rx_adapter->epoll_events);
 	rte_ring_free(rx_adapter->intr_ring);
@@ -1915,7 +1915,7 @@ rxa_init_service(struct event_eth_rx_adapter *rx_adapter, uint8_t id)
 	if (rte_mbuf_dyn_rx_timestamp_register(
 			&event_eth_rx_timestamp_dynfield_offset,
 			&event_eth_rx_timestamp_dynflag) != 0) {
-		RTE_EDEV_LOG_ERR("Error registering timestamp field in mbuf\n");
+		RTE_EDEV_LOG_ERR("Error registering timestamp field in mbuf");
 		return -rte_errno;
 	}

@@ -2445,7 +2445,7 @@ rxa_create(uint8_t id, uint8_t dev_id,
 			    RTE_DIM(default_rss_key));

 	if (rx_adapter->eth_devices == NULL) {
-		RTE_EDEV_LOG_ERR("failed to get mem for eth devices\n");
+		RTE_EDEV_LOG_ERR("failed to get mem for eth devices");
 		rte_free(rx_adapter);
 		return -ENOMEM;
 	}
@@ -2497,12 +2497,12 @@ rxa_config_params_validate(struct rte_event_eth_rx_adapter_params *rxa_params,
 		return 0;
 	} else if (!rxa_params->use_queue_event_buf &&
 		    rxa_params->event_buf_size == 0) {
-		RTE_EDEV_LOG_ERR("event buffer size can't be zero\n");
+		RTE_EDEV_LOG_ERR("event buffer size can't be zero");
 		return -EINVAL;
 	} else if (rxa_params->use_queue_event_buf &&
 		   rxa_params->event_buf_size != 0) {
 		RTE_EDEV_LOG_ERR("event buffer size needs to be configured "
-				 "as part of queue add\n");
+				 "as part of queue add");
 		return -EINVAL;
 	}

@@ -3597,7 +3597,7 @@ handle_rxa_stats(const char *cmd __rte_unused,
 	/* Get Rx adapter stats */
 	if (rte_event_eth_rx_adapter_stats_get(rx_adapter_id,
 					       &rx_adptr_stats)) {
-		RTE_EDEV_LOG_ERR("Failed to get Rx adapter stats\n");
+		RTE_EDEV_LOG_ERR("Failed to get Rx adapter stats");
 		return -1;
 	}

@@ -3636,7 +3636,7 @@ handle_rxa_stats_reset(const char *cmd __rte_unused,

 	/* Reset Rx adapter stats */
 	if (rte_event_eth_rx_adapter_stats_reset(rx_adapter_id)) {
-		RTE_EDEV_LOG_ERR("Failed to reset Rx adapter stats\n");
+		RTE_EDEV_LOG_ERR("Failed to reset Rx adapter stats");
 		return -1;
 	}

diff --git a/lib/eventdev/rte_event_eth_tx_adapter.c b/lib/eventdev/rte_event_eth_tx_adapter.c
index 360d5caf6a..56435be991 100644
--- a/lib/eventdev/rte_event_eth_tx_adapter.c
+++ b/lib/eventdev/rte_event_eth_tx_adapter.c
@@ -334,7 +334,7 @@ txa_service_conf_cb(uint8_t __rte_unused id, uint8_t dev_id,

 	ret = rte_event_port_setup(dev_id, port_id, pc);
 	if (ret) {
-		RTE_EDEV_LOG_ERR("failed to setup event port %u\n",
+		RTE_EDEV_LOG_ERR("failed to setup event port %u",
 					port_id);
 		if (started) {
 			if (rte_event_dev_start(dev_id))
diff --git a/lib/eventdev/rte_event_timer_adapter.c b/lib/eventdev/rte_event_timer_adapter.c
index 27466707bc..3f22e85173 100644
--- a/lib/eventdev/rte_event_timer_adapter.c
+++ b/lib/eventdev/rte_event_timer_adapter.c
@@ -106,7 +106,7 @@ default_port_conf_cb(uint16_t id, uint8_t event_dev_id, uint8_t *event_port_id,

 	ret = rte_event_dev_configure(dev_id, &dev_conf);
 	if (ret < 0) {
-		EVTIM_LOG_ERR("failed to configure event dev %u\n", dev_id);
+		EVTIM_LOG_ERR("failed to configure event dev %u", dev_id);
 		if (started)
 			if (rte_event_dev_start(dev_id))
 				return -EIO;
@@ -116,7 +116,7 @@ default_port_conf_cb(uint16_t id, uint8_t event_dev_id, uint8_t *event_port_id,

 	ret = rte_event_port_setup(dev_id, port_id, port_conf);
 	if (ret < 0) {
-		EVTIM_LOG_ERR("failed to setup event port %u on event dev %u\n",
+		EVTIM_LOG_ERR("failed to setup event port %u on event dev %u",
 			      port_id, dev_id);
 		return ret;
 	}
diff --git a/lib/eventdev/rte_eventdev.c b/lib/eventdev/rte_eventdev.c
index ae50821a3f..157752868d 100644
--- a/lib/eventdev/rte_eventdev.c
+++ b/lib/eventdev/rte_eventdev.c
@@ -1007,13 +1007,13 @@ rte_event_port_profile_links_set(uint8_t dev_id, uint8_t port_id, const uint8_t
 	}

 	if (*dev->dev_ops->port_link == NULL) {
-		RTE_EDEV_LOG_ERR("Function not supported\n");
+		RTE_EDEV_LOG_ERR("Function not supported");
 		rte_errno = ENOTSUP;
 		return 0;
 	}

 	if (profile_id && *dev->dev_ops->port_link_profile == NULL) {
-		RTE_EDEV_LOG_ERR("Function not supported\n");
+		RTE_EDEV_LOG_ERR("Function not supported");
 		rte_errno = ENOTSUP;
 		return 0;
 	}
diff --git a/lib/metrics/rte_metrics_telemetry.c b/lib/metrics/rte_metrics_telemetry.c
index 5be21b2e86..1d133e1f8c 100644
--- a/lib/metrics/rte_metrics_telemetry.c
+++ b/lib/metrics/rte_metrics_telemetry.c
@@ -363,7 +363,7 @@ rte_metrics_tel_stat_names_to_ids(const char * const *stat_names,
 			}
 		}
 		if (j == num_metrics) {
-			METRICS_LOG_WARN("Invalid stat name %s\n",
+			METRICS_LOG_WARN("Invalid stat name %s",
 					stat_names[i]);
 			free(names);
 			return -EINVAL;
diff --git a/lib/mldev/rte_mldev.c b/lib/mldev/rte_mldev.c
index cc5f2e0cc6..196b1850e6 100644
--- a/lib/mldev/rte_mldev.c
+++ b/lib/mldev/rte_mldev.c
@@ -159,7 +159,7 @@ int
 rte_ml_dev_init(size_t dev_max)
 {
 	if (dev_max == 0 || dev_max > INT16_MAX) {
-		RTE_MLDEV_LOG(ERR, "Invalid dev_max = %zu (> %d)\n", dev_max, INT16_MAX);
+		RTE_MLDEV_LOG(ERR, "Invalid dev_max = %zu (> %d)", dev_max, INT16_MAX);
 		rte_errno = EINVAL;
 		return -rte_errno;
 	}
@@ -217,7 +217,7 @@ rte_ml_dev_socket_id(int16_t dev_id)
 	struct rte_ml_dev *dev;

 	if (!rte_ml_dev_is_valid_dev(dev_id)) {
-		RTE_MLDEV_LOG(ERR, "Invalid dev_id = %d\n", dev_id);
+		RTE_MLDEV_LOG(ERR, "Invalid dev_id = %d", dev_id);
 		return -EINVAL;
 	}

@@ -232,7 +232,7 @@ rte_ml_dev_info_get(int16_t dev_id, struct rte_ml_dev_info *dev_info)
 	struct rte_ml_dev *dev;

 	if (!rte_ml_dev_is_valid_dev(dev_id)) {
-		RTE_MLDEV_LOG(ERR, "Invalid dev_id = %d\n", dev_id);
+		RTE_MLDEV_LOG(ERR, "Invalid dev_id = %d", dev_id);
 		return -EINVAL;
 	}

@@ -241,7 +241,7 @@ rte_ml_dev_info_get(int16_t dev_id, struct rte_ml_dev_info *dev_info)
 		return -ENOTSUP;

 	if (dev_info == NULL) {
-		RTE_MLDEV_LOG(ERR, "Dev %d, dev_info cannot be NULL\n", dev_id);
+		RTE_MLDEV_LOG(ERR, "Dev %d, dev_info cannot be NULL", dev_id);
 		return -EINVAL;
 	}
 	memset(dev_info, 0, sizeof(struct rte_ml_dev_info));
@@ -257,7 +257,7 @@ rte_ml_dev_configure(int16_t dev_id, const struct rte_ml_dev_config *config)
 	int ret;

 	if (!rte_ml_dev_is_valid_dev(dev_id)) {
-		RTE_MLDEV_LOG(ERR, "Invalid dev_id = %d\n", dev_id);
+		RTE_MLDEV_LOG(ERR, "Invalid dev_id = %d", dev_id);
 		return -EINVAL;
 	}

@@ -271,7 +271,7 @@ rte_ml_dev_configure(int16_t dev_id, const struct rte_ml_dev_config *config)
 	}

 	if (config == NULL) {
-		RTE_MLDEV_LOG(ERR, "Dev %d, config cannot be NULL\n", dev_id);
+		RTE_MLDEV_LOG(ERR, "Dev %d, config cannot be NULL", dev_id);
 		return -EINVAL;
 	}

@@ -280,7 +280,7 @@ rte_ml_dev_configure(int16_t dev_id, const struct rte_ml_dev_config *config)
 		return ret;

 	if (config->nb_queue_pairs > dev_info.max_queue_pairs) {
-		RTE_MLDEV_LOG(ERR, "Device %d num of queues %u > %u\n", dev_id,
+		RTE_MLDEV_LOG(ERR, "Device %d num of queues %u > %u", dev_id,
 			      config->nb_queue_pairs, dev_info.max_queue_pairs);
 		return -EINVAL;
 	}
@@ -294,7 +294,7 @@ rte_ml_dev_close(int16_t dev_id)
 	struct rte_ml_dev *dev;

 	if (!rte_ml_dev_is_valid_dev(dev_id)) {
-		RTE_MLDEV_LOG(ERR, "Invalid dev_id = %d\n", dev_id);
+		RTE_MLDEV_LOG(ERR, "Invalid dev_id = %d", dev_id);
 		return -EINVAL;
 	}

@@ -318,7 +318,7 @@ rte_ml_dev_start(int16_t dev_id)
 	int ret;

 	if (!rte_ml_dev_is_valid_dev(dev_id)) {
-		RTE_MLDEV_LOG(ERR, "Invalid dev_id = %d\n", dev_id);
+		RTE_MLDEV_LOG(ERR, "Invalid dev_id = %d", dev_id);
 		return -EINVAL;
 	}

@@ -345,7 +345,7 @@ rte_ml_dev_stop(int16_t dev_id)
 	int ret;

 	if (!rte_ml_dev_is_valid_dev(dev_id)) {
-		RTE_MLDEV_LOG(ERR, "Invalid dev_id = %d\n", dev_id);
+		RTE_MLDEV_LOG(ERR, "Invalid dev_id = %d", dev_id);
 		return -EINVAL;
 	}

@@ -372,7 +372,7 @@ rte_ml_dev_queue_pair_setup(int16_t dev_id, uint16_t queue_pair_id,
 	struct rte_ml_dev *dev;

 	if (!rte_ml_dev_is_valid_dev(dev_id)) {
-		RTE_MLDEV_LOG(ERR, "Invalid dev_id = %d\n", dev_id);
+		RTE_MLDEV_LOG(ERR, "Invalid dev_id = %d", dev_id);
 		return -EINVAL;
 	}

@@ -386,7 +386,7 @@ rte_ml_dev_queue_pair_setup(int16_t dev_id, uint16_t queue_pair_id,
 	}

 	if (qp_conf == NULL) {
-		RTE_MLDEV_LOG(ERR, "Dev %d, qp_conf cannot be NULL\n", dev_id);
+		RTE_MLDEV_LOG(ERR, "Dev %d, qp_conf cannot be NULL", dev_id);
 		return -EINVAL;
 	}

@@ -404,7 +404,7 @@ rte_ml_dev_stats_get(int16_t dev_id, struct rte_ml_dev_stats *stats)
 	struct rte_ml_dev *dev;

 	if (!rte_ml_dev_is_valid_dev(dev_id)) {
-		RTE_MLDEV_LOG(ERR, "Invalid dev_id = %d\n", dev_id);
+		RTE_MLDEV_LOG(ERR, "Invalid dev_id = %d", dev_id);
 		return -EINVAL;
 	}

@@ -413,7 +413,7 @@ rte_ml_dev_stats_get(int16_t dev_id, struct rte_ml_dev_stats *stats)
 		return -ENOTSUP;

 	if (stats == NULL) {
-		RTE_MLDEV_LOG(ERR, "Dev %d, stats cannot be NULL\n", dev_id);
+		RTE_MLDEV_LOG(ERR, "Dev %d, stats cannot be NULL", dev_id);
 		return -EINVAL;
 	}
 	memset(stats, 0, sizeof(struct rte_ml_dev_stats));
@@ -427,7 +427,7 @@ rte_ml_dev_stats_reset(int16_t dev_id)
 	struct rte_ml_dev *dev;

 	if (!rte_ml_dev_is_valid_dev(dev_id)) {
-		RTE_MLDEV_LOG(ERR, "Invalid dev_id = %d\n", dev_id);
+		RTE_MLDEV_LOG(ERR, "Invalid dev_id = %d", dev_id);
 		return;
 	}

@@ -445,7 +445,7 @@ rte_ml_dev_xstats_names_get(int16_t dev_id, enum rte_ml_dev_xstats_mode mode, in
 	struct rte_ml_dev *dev;

 	if (!rte_ml_dev_is_valid_dev(dev_id)) {
-		RTE_MLDEV_LOG(ERR, "Invalid dev_id = %d\n", dev_id);
+		RTE_MLDEV_LOG(ERR, "Invalid dev_id = %d", dev_id);
 		return -EINVAL;
 	}

@@ -462,7 +462,7 @@ rte_ml_dev_xstats_by_name_get(int16_t dev_id, const char *name, uint16_t *stat_i
 	struct rte_ml_dev *dev;

 	if (!rte_ml_dev_is_valid_dev(dev_id)) {
-		RTE_MLDEV_LOG(ERR, "Invalid dev_id = %d\n", dev_id);
+		RTE_MLDEV_LOG(ERR, "Invalid dev_id = %d", dev_id);
 		return -EINVAL;
 	}

@@ -471,12 +471,12 @@ rte_ml_dev_xstats_by_name_get(int16_t dev_id, const char *name, uint16_t *stat_i
 		return -ENOTSUP;

 	if (name == NULL) {
-		RTE_MLDEV_LOG(ERR, "Dev %d, name cannot be NULL\n", dev_id);
+		RTE_MLDEV_LOG(ERR, "Dev %d, name cannot be NULL", dev_id);
 		return -EINVAL;
 	}

 	if (value == NULL) {
-		RTE_MLDEV_LOG(ERR, "Dev %d, value cannot be NULL\n", dev_id);
+		RTE_MLDEV_LOG(ERR, "Dev %d, value cannot be NULL", dev_id);
 		return -EINVAL;
 	}

@@ -490,7 +490,7 @@ rte_ml_dev_xstats_get(int16_t dev_id, enum rte_ml_dev_xstats_mode mode, int32_t
 	struct rte_ml_dev *dev;

 	if (!rte_ml_dev_is_valid_dev(dev_id)) {
-		RTE_MLDEV_LOG(ERR, "Invalid dev_id = %d\n", dev_id);
+		RTE_MLDEV_LOG(ERR, "Invalid dev_id = %d", dev_id);
 		return -EINVAL;
 	}

@@ -499,12 +499,12 @@ rte_ml_dev_xstats_get(int16_t dev_id, enum rte_ml_dev_xstats_mode mode, int32_t
 		return -ENOTSUP;

 	if (stat_ids == NULL) {
-		RTE_MLDEV_LOG(ERR, "Dev %d, stat_ids cannot be NULL\n", dev_id);
+		RTE_MLDEV_LOG(ERR, "Dev %d, stat_ids cannot be NULL", dev_id);
 		return -EINVAL;
 	}

 	if (values == NULL) {
-		RTE_MLDEV_LOG(ERR, "Dev %d, values cannot be NULL\n", dev_id);
+		RTE_MLDEV_LOG(ERR, "Dev %d, values cannot be NULL", dev_id);
 		return -EINVAL;
 	}

@@ -518,7 +518,7 @@ rte_ml_dev_xstats_reset(int16_t dev_id, enum rte_ml_dev_xstats_mode mode, int32_
 	struct rte_ml_dev *dev;

 	if (!rte_ml_dev_is_valid_dev(dev_id)) {
-		RTE_MLDEV_LOG(ERR, "Invalid dev_id = %d\n", dev_id);
+		RTE_MLDEV_LOG(ERR, "Invalid dev_id = %d", dev_id);
 		return -EINVAL;
 	}

@@ -535,7 +535,7 @@ rte_ml_dev_dump(int16_t dev_id, FILE *fd)
 	struct rte_ml_dev *dev;

 	if (!rte_ml_dev_is_valid_dev(dev_id)) {
-		RTE_MLDEV_LOG(ERR, "Invalid dev_id = %d\n", dev_id);
+		RTE_MLDEV_LOG(ERR, "Invalid dev_id = %d", dev_id);
 		return -EINVAL;
 	}

@@ -544,7 +544,7 @@ rte_ml_dev_dump(int16_t dev_id, FILE *fd)
 		return -ENOTSUP;

 	if (fd == NULL) {
-		RTE_MLDEV_LOG(ERR, "Dev %d, file descriptor cannot be NULL\n", dev_id);
+		RTE_MLDEV_LOG(ERR, "Dev %d, file descriptor cannot be NULL", dev_id);
 		return -EINVAL;
 	}

@@ -557,7 +557,7 @@ rte_ml_dev_selftest(int16_t dev_id)
 	struct rte_ml_dev *dev;

 	if (!rte_ml_dev_is_valid_dev(dev_id)) {
-		RTE_MLDEV_LOG(ERR, "Invalid dev_id = %d\n", dev_id);
+		RTE_MLDEV_LOG(ERR, "Invalid dev_id = %d", dev_id);
 		return -EINVAL;
 	}

@@ -574,7 +574,7 @@ rte_ml_model_load(int16_t dev_id, struct rte_ml_model_params *params, uint16_t *
 	struct rte_ml_dev *dev;

 	if (!rte_ml_dev_is_valid_dev(dev_id)) {
-		RTE_MLDEV_LOG(ERR, "Invalid dev_id = %d\n", dev_id);
+		RTE_MLDEV_LOG(ERR, "Invalid dev_id = %d", dev_id);
 		return -EINVAL;
 	}

@@ -583,12 +583,12 @@ rte_ml_model_load(int16_t dev_id, struct rte_ml_model_params *params, uint16_t *
 		return -ENOTSUP;

 	if (params == NULL) {
-		RTE_MLDEV_LOG(ERR, "Dev %d, params cannot be NULL\n", dev_id);
+		RTE_MLDEV_LOG(ERR, "Dev %d, params cannot be NULL", dev_id);
 		return -EINVAL;
 	}

 	if (model_id == NULL) {
-		RTE_MLDEV_LOG(ERR, "Dev %d, model_id cannot be NULL\n", dev_id);
+		RTE_MLDEV_LOG(ERR, "Dev %d, model_id cannot be NULL", dev_id);
 		return -EINVAL;
 	}

@@ -601,7 +601,7 @@ rte_ml_model_unload(int16_t dev_id, uint16_t model_id)
 	struct rte_ml_dev *dev;

 	if (!rte_ml_dev_is_valid_dev(dev_id)) {
-		RTE_MLDEV_LOG(ERR, "Invalid dev_id = %d\n", dev_id);
+		RTE_MLDEV_LOG(ERR, "Invalid dev_id = %d", dev_id);
 		return -EINVAL;
 	}

@@ -618,7 +618,7 @@ rte_ml_model_start(int16_t dev_id, uint16_t model_id)
 	struct rte_ml_dev *dev;

 	if (!rte_ml_dev_is_valid_dev(dev_id)) {
-		RTE_MLDEV_LOG(ERR, "Invalid dev_id = %d\n", dev_id);
+		RTE_MLDEV_LOG(ERR, "Invalid dev_id = %d", dev_id);
 		return -EINVAL;
 	}

@@ -635,7 +635,7 @@ rte_ml_model_stop(int16_t dev_id, uint16_t model_id)
 	struct rte_ml_dev *dev;

 	if (!rte_ml_dev_is_valid_dev(dev_id)) {
-		RTE_MLDEV_LOG(ERR, "Invalid dev_id = %d\n", dev_id);
+		RTE_MLDEV_LOG(ERR, "Invalid dev_id = %d", dev_id);
 		return -EINVAL;
 	}

@@ -652,7 +652,7 @@ rte_ml_model_info_get(int16_t dev_id, uint16_t model_id, struct rte_ml_model_inf
 	struct rte_ml_dev *dev;

 	if (!rte_ml_dev_is_valid_dev(dev_id)) {
-		RTE_MLDEV_LOG(ERR, "Invalid dev_id = %d\n", dev_id);
+		RTE_MLDEV_LOG(ERR, "Invalid dev_id = %d", dev_id);
 		return -EINVAL;
 	}

@@ -661,7 +661,7 @@ rte_ml_model_info_get(int16_t dev_id, uint16_t model_id, struct rte_ml_model_inf
 		return -ENOTSUP;

 	if (model_info == NULL) {
-		RTE_MLDEV_LOG(ERR, "Dev %d, model_id %u, model_info cannot be NULL\n", dev_id,
+		RTE_MLDEV_LOG(ERR, "Dev %d, model_id %u, model_info cannot be NULL", dev_id,
 			      model_id);
 		return -EINVAL;
 	}
@@ -675,7 +675,7 @@ rte_ml_model_params_update(int16_t dev_id, uint16_t model_id, void *buffer)
 	struct rte_ml_dev *dev;

 	if (!rte_ml_dev_is_valid_dev(dev_id)) {
-		RTE_MLDEV_LOG(ERR, "Invalid dev_id = %d\n", dev_id);
+		RTE_MLDEV_LOG(ERR, "Invalid dev_id = %d", dev_id);
 		return -EINVAL;
 	}

@@ -684,7 +684,7 @@ rte_ml_model_params_update(int16_t dev_id, uint16_t model_id, void *buffer)
 		return -ENOTSUP;

 	if (buffer == NULL) {
-		RTE_MLDEV_LOG(ERR, "Dev %d, buffer cannot be NULL\n", dev_id);
+		RTE_MLDEV_LOG(ERR, "Dev %d, buffer cannot be NULL", dev_id);
 		return -EINVAL;
 	}

@@ -698,7 +698,7 @@ rte_ml_io_quantize(int16_t dev_id, uint16_t model_id, struct rte_ml_buff_seg **d
 	struct rte_ml_dev *dev;

 	if (!rte_ml_dev_is_valid_dev(dev_id)) {
-		RTE_MLDEV_LOG(ERR, "Invalid dev_id = %d\n", dev_id);
+		RTE_MLDEV_LOG(ERR, "Invalid dev_id = %d", dev_id);
 		return -EINVAL;
 	}

@@ -707,12 +707,12 @@ rte_ml_io_quantize(int16_t dev_id, uint16_t model_id, struct rte_ml_buff_seg **d
 		return -ENOTSUP;

 	if (dbuffer == NULL) {
-		RTE_MLDEV_LOG(ERR, "Dev %d, dbuffer cannot be NULL\n", dev_id);
+		RTE_MLDEV_LOG(ERR, "Dev %d, dbuffer cannot be NULL", dev_id);
 		return -EINVAL;
 	}

 	if (qbuffer == NULL) {
-		RTE_MLDEV_LOG(ERR, "Dev %d, qbuffer cannot be NULL\n", dev_id);
+		RTE_MLDEV_LOG(ERR, "Dev %d, qbuffer cannot be NULL", dev_id);
 		return -EINVAL;
 	}

@@ -726,7 +726,7 @@ rte_ml_io_dequantize(int16_t dev_id, uint16_t model_id, struct rte_ml_buff_seg *
 	struct rte_ml_dev *dev;

 	if (!rte_ml_dev_is_valid_dev(dev_id)) {
-		RTE_MLDEV_LOG(ERR, "Invalid dev_id = %d\n", dev_id);
+		RTE_MLDEV_LOG(ERR, "Invalid dev_id = %d", dev_id);
 		return -EINVAL;
 	}

@@ -735,12 +735,12 @@ rte_ml_io_dequantize(int16_t dev_id, uint16_t model_id, struct rte_ml_buff_seg *
 		return -ENOTSUP;

 	if (qbuffer == NULL) {
-		RTE_MLDEV_LOG(ERR, "Dev %d, qbuffer cannot be NULL\n", dev_id);
+		RTE_MLDEV_LOG(ERR, "Dev %d, qbuffer cannot be NULL", dev_id);
 		return -EINVAL;
 	}

 	if (dbuffer == NULL) {
-		RTE_MLDEV_LOG(ERR, "Dev %d, dbuffer cannot be NULL\n", dev_id);
+		RTE_MLDEV_LOG(ERR, "Dev %d, dbuffer cannot be NULL", dev_id);
 		return -EINVAL;
 	}

@@ -811,7 +811,7 @@ rte_ml_enqueue_burst(int16_t dev_id, uint16_t qp_id, struct rte_ml_op **ops, uin

 #ifdef RTE_LIBRTE_ML_DEV_DEBUG
 	if (!rte_ml_dev_is_valid_dev(dev_id)) {
-		RTE_MLDEV_LOG(ERR, "Invalid dev_id = %d\n", dev_id);
+		RTE_MLDEV_LOG(ERR, "Invalid dev_id = %d", dev_id);
 		rte_errno = -EINVAL;
 		return 0;
 	}
@@ -823,13 +823,13 @@ rte_ml_enqueue_burst(int16_t dev_id, uint16_t qp_id, struct rte_ml_op **ops, uin
 	}

 	if (ops == NULL) {
-		RTE_MLDEV_LOG(ERR, "Dev %d, ops cannot be NULL\n", dev_id);
+		RTE_MLDEV_LOG(ERR, "Dev %d, ops cannot be NULL", dev_id);
 		rte_errno = -EINVAL;
 		return 0;
 	}

 	if (qp_id >= dev->data->nb_queue_pairs) {
-		RTE_MLDEV_LOG(ERR, "Invalid qp_id %u\n", qp_id);
+		RTE_MLDEV_LOG(ERR, "Invalid qp_id %u", qp_id);
 		rte_errno = -EINVAL;
 		return 0;
 	}
@@ -847,7 +847,7 @@ rte_ml_dequeue_burst(int16_t dev_id, uint16_t qp_id, struct rte_ml_op **ops, uin

 #ifdef RTE_LIBRTE_ML_DEV_DEBUG
 	if (!rte_ml_dev_is_valid_dev(dev_id)) {
-		RTE_MLDEV_LOG(ERR, "Invalid dev_id = %d\n", dev_id);
+		RTE_MLDEV_LOG(ERR, "Invalid dev_id = %d", dev_id);
 		rte_errno = -EINVAL;
 		return 0;
 	}
@@ -859,13 +859,13 @@ rte_ml_dequeue_burst(int16_t dev_id, uint16_t qp_id, struct rte_ml_op **ops, uin
 	}

 	if (ops == NULL) {
-		RTE_MLDEV_LOG(ERR, "Dev %d, ops cannot be NULL\n", dev_id);
+		RTE_MLDEV_LOG(ERR, "Dev %d, ops cannot be NULL", dev_id);
 		rte_errno = -EINVAL;
 		return 0;
 	}

 	if (qp_id >= dev->data->nb_queue_pairs) {
-		RTE_MLDEV_LOG(ERR, "Invalid qp_id %u\n", qp_id);
+		RTE_MLDEV_LOG(ERR, "Invalid qp_id %u", qp_id);
 		rte_errno = -EINVAL;
 		return 0;
 	}
@@ -883,7 +883,7 @@ rte_ml_op_error_get(int16_t dev_id, struct rte_ml_op *op, struct rte_ml_op_error

 #ifdef RTE_LIBRTE_ML_DEV_DEBUG
 	if (!rte_ml_dev_is_valid_dev(dev_id)) {
-		RTE_MLDEV_LOG(ERR, "Invalid dev_id = %d\n", dev_id);
+		RTE_MLDEV_LOG(ERR, "Invalid dev_id = %d", dev_id);
 		return -EINVAL;
 	}

@@ -892,12 +892,12 @@ rte_ml_op_error_get(int16_t dev_id, struct rte_ml_op *op, struct rte_ml_op_error
 		return -ENOTSUP;

 	if (op == NULL) {
-		RTE_MLDEV_LOG(ERR, "Dev %d, op cannot be NULL\n", dev_id);
+		RTE_MLDEV_LOG(ERR, "Dev %d, op cannot be NULL", dev_id);
 		return -EINVAL;
 	}

 	if (error == NULL) {
-		RTE_MLDEV_LOG(ERR, "Dev %d, error cannot be NULL\n", dev_id);
+		RTE_MLDEV_LOG(ERR, "Dev %d, error cannot be NULL", dev_id);
 		return -EINVAL;
 	}
 #else
diff --git a/lib/net/rte_net_crc.c b/lib/net/rte_net_crc.c
index a685f9e7bb..900d6de7f4 100644
--- a/lib/net/rte_net_crc.c
+++ b/lib/net/rte_net_crc.c
@@ -179,7 +179,7 @@ avx512_vpclmulqdq_get_handlers(void)
 			max_simd_bitwidth >= RTE_VECT_SIMD_512)
 		return handlers_avx512;
 #endif
-	NET_LOG(INFO, "Requirements not met, can't use AVX512\n");
+	NET_LOG(INFO, "Requirements not met, can't use AVX512");
 	return NULL;
 }

@@ -205,7 +205,7 @@ sse42_pclmulqdq_get_handlers(void)
 			max_simd_bitwidth >= RTE_VECT_SIMD_128)
 		return handlers_sse42;
 #endif
-	NET_LOG(INFO, "Requirements not met, can't use SSE\n");
+	NET_LOG(INFO, "Requirements not met, can't use SSE");
 	return NULL;
 }

@@ -231,7 +231,7 @@ neon_pmull_get_handlers(void)
 			max_simd_bitwidth >= RTE_VECT_SIMD_128)
 		return handlers_neon;
 #endif
-	NET_LOG(INFO, "Requirements not met, can't use NEON\n");
+	NET_LOG(INFO, "Requirements not met, can't use NEON");
 	return NULL;
 }

diff --git a/lib/node/ethdev_rx.c b/lib/node/ethdev_rx.c
index 3e8fac1df4..475eff6abe 100644
--- a/lib/node/ethdev_rx.c
+++ b/lib/node/ethdev_rx.c
@@ -160,13 +160,13 @@ ethdev_ptype_setup(uint16_t port, uint16_t queue)

 	if (!l3_ipv4 || !l3_ipv6) {
 		node_info("ethdev_rx",
-			  "Enabling ptype callback for required ptypes on port %u\n",
+			  "Enabling ptype callback for required ptypes on port %u",
 			  port);

 		if (!rte_eth_add_rx_callback(port, queue, eth_pkt_parse_cb,
 					     NULL)) {
 			node_err("ethdev_rx",
-				 "Failed to add rx ptype cb: port=%d, queue=%d\n",
+				 "Failed to add rx ptype cb: port=%d, queue=%d",
 				 port, queue);
 			return -EINVAL;
 		}
diff --git a/lib/node/ip4_lookup.c b/lib/node/ip4_lookup.c
index 0dbfde64fe..18955971f6 100644
--- a/lib/node/ip4_lookup.c
+++ b/lib/node/ip4_lookup.c
@@ -143,7 +143,7 @@ rte_node_ip4_route_add(uint32_t ip, uint8_t depth, uint16_t next_hop,
 				  ip, depth, val);
 		if (ret < 0) {
 			node_err("ip4_lookup",
-				 "Unable to add entry %s / %d nh (%x) to LPM table on sock %d, rc=%d\n",
+				 "Unable to add entry %s / %d nh (%x) to LPM table on sock %d, rc=%d",
 				 abuf, depth, val, socket, ret);
 			return ret;
 		}
diff --git a/lib/node/ip6_lookup.c b/lib/node/ip6_lookup.c
index 6f56eb5ec5..309964f60f 100644
--- a/lib/node/ip6_lookup.c
+++ b/lib/node/ip6_lookup.c
@@ -283,7 +283,7 @@ rte_node_ip6_route_add(const uint8_t *ip, uint8_t depth, uint16_t next_hop,
 		if (ret < 0) {
 			node_err("ip6_lookup",
 				 "Unable to add entry %s / %d nh (%x) to LPM "
-				 "table on sock %d, rc=%d\n",
+				 "table on sock %d, rc=%d",
 				 abuf, depth, val, socket, ret);
 			return ret;
 		}
diff --git a/lib/node/kernel_rx.c b/lib/node/kernel_rx.c
index 2dba7c8cc7..6c20cdbb1e 100644
--- a/lib/node/kernel_rx.c
+++ b/lib/node/kernel_rx.c
@@ -134,7 +134,7 @@ kernel_rx_node_do(struct rte_graph *graph, struct rte_node *node, kernel_rx_node
 			if (len == 0 || len == 0xFFFF) {
 				rte_pktmbuf_free(m);
 				if (rx->idx <= 0)
-					node_dbg("kernel_rx", "rx_mbuf array is empty\n");
+					node_dbg("kernel_rx", "rx_mbuf array is empty");
 				rx->idx--;
 				break;
 			}
@@ -207,20 +207,20 @@ kernel_rx_node_init(const struct rte_graph *graph, struct rte_node *node)
 	RTE_VERIFY(elem != NULL);

 	if (ctx->pktmbuf_pool == NULL) {
-		node_err("kernel_rx", "Invalid mbuf pool on graph %s\n", graph->name);
+		node_err("kernel_rx", "Invalid mbuf pool on graph %s", graph->name);
 		return -EINVAL;
 	}

 	recv_info = rte_zmalloc_socket("kernel_rx_info", sizeof(kernel_rx_info_t),
 				       RTE_CACHE_LINE_SIZE, graph->socket);
 	if (!recv_info) {
-		node_err("kernel_rx", "Kernel recv_info is NULL\n");
+		node_err("kernel_rx", "Kernel recv_info is NULL");
 		return -ENOMEM;
 	}

 	sock = socket(AF_INET, SOCK_RAW, IPPROTO_RAW);
 	if (sock < 0) {
-		node_err("kernel_rx", "Unable to open RAW socket\n");
+		node_err("kernel_rx", "Unable to open RAW socket");
 		return sock;
 	}

diff --git a/lib/node/kernel_tx.c b/lib/node/kernel_tx.c
index 27d1808c71..3a96741622 100644
--- a/lib/node/kernel_tx.c
+++ b/lib/node/kernel_tx.c
@@ -36,7 +36,7 @@ kernel_tx_process_mbuf(struct rte_node *node, struct rte_mbuf **mbufs, uint16_t
 		sin.sin_addr.s_addr = ip4->dst_addr;

 		if (sendto(ctx->sock, buf, len, 0, (struct sockaddr *)&sin, sizeof(sin)) < 0)
-			node_err("kernel_tx", "Unable to send packets: %s\n", strerror(errno));
+			node_err("kernel_tx", "Unable to send packets: %s", strerror(errno));
 	}
 }

@@ -87,7 +87,7 @@ kernel_tx_node_init(const struct rte_graph *graph __rte_unused, struct rte_node

 	ctx->sock = socket(AF_INET, SOCK_RAW, IPPROTO_RAW);
 	if (ctx->sock < 0)
-		node_err("kernel_tx", "Unable to open RAW socket\n");
+		node_err("kernel_tx", "Unable to open RAW socket");

 	return 0;
 }
diff --git a/lib/rcu/rte_rcu_qsbr.c b/lib/rcu/rte_rcu_qsbr.c
index a9f3d6cc98..41a44be4b9 100644
--- a/lib/rcu/rte_rcu_qsbr.c
+++ b/lib/rcu/rte_rcu_qsbr.c
@@ -92,7 +92,7 @@ rte_rcu_qsbr_thread_register(struct rte_rcu_qsbr *v, unsigned int thread_id)
 		return 1;
 	}

-	__RTE_RCU_IS_LOCK_CNT_ZERO(v, thread_id, ERR, "Lock counter %u\n",
+	__RTE_RCU_IS_LOCK_CNT_ZERO(v, thread_id, ERR, "Lock counter %u",
 				v->qsbr_cnt[thread_id].lock_cnt);

 	id = thread_id & __RTE_QSBR_THRID_MASK;
@@ -144,7 +144,7 @@ rte_rcu_qsbr_thread_unregister(struct rte_rcu_qsbr *v, unsigned int thread_id)
 		return 1;
 	}

-	__RTE_RCU_IS_LOCK_CNT_ZERO(v, thread_id, ERR, "Lock counter %u\n",
+	__RTE_RCU_IS_LOCK_CNT_ZERO(v, thread_id, ERR, "Lock counter %u",
 				v->qsbr_cnt[thread_id].lock_cnt);

 	id = thread_id & __RTE_QSBR_THRID_MASK;
diff --git a/lib/rcu/rte_rcu_qsbr.h b/lib/rcu/rte_rcu_qsbr.h
index 5979fb0efb..6b908e7ee0 100644
--- a/lib/rcu/rte_rcu_qsbr.h
+++ b/lib/rcu/rte_rcu_qsbr.h
@@ -299,7 +299,7 @@ rte_rcu_qsbr_thread_online(struct rte_rcu_qsbr *v, unsigned int thread_id)

 	RTE_ASSERT(v != NULL && thread_id < v->max_threads);

-	__RTE_RCU_IS_LOCK_CNT_ZERO(v, thread_id, ERR, "Lock counter %u\n",
+	__RTE_RCU_IS_LOCK_CNT_ZERO(v, thread_id, ERR, "Lock counter %u",
 				v->qsbr_cnt[thread_id].lock_cnt);

 	/* Copy the current value of token.
@@ -350,7 +350,7 @@ rte_rcu_qsbr_thread_offline(struct rte_rcu_qsbr *v, unsigned int thread_id)
 {
 	RTE_ASSERT(v != NULL && thread_id < v->max_threads);

-	__RTE_RCU_IS_LOCK_CNT_ZERO(v, thread_id, ERR, "Lock counter %u\n",
+	__RTE_RCU_IS_LOCK_CNT_ZERO(v, thread_id, ERR, "Lock counter %u",
 				v->qsbr_cnt[thread_id].lock_cnt);

 	/* The reader can go offline only after the load of the
@@ -427,7 +427,7 @@ rte_rcu_qsbr_unlock(__rte_unused struct rte_rcu_qsbr *v,
 				1, rte_memory_order_release);

 	__RTE_RCU_IS_LOCK_CNT_ZERO(v, thread_id, WARNING,
-				"Lock counter %u. Nested locks?\n",
+				"Lock counter %u. Nested locks?",
 				v->qsbr_cnt[thread_id].lock_cnt);
 #endif
 }
@@ -481,7 +481,7 @@ rte_rcu_qsbr_quiescent(struct rte_rcu_qsbr *v, unsigned int thread_id)

 	RTE_ASSERT(v != NULL && thread_id < v->max_threads);

-	__RTE_RCU_IS_LOCK_CNT_ZERO(v, thread_id, ERR, "Lock counter %u\n",
+	__RTE_RCU_IS_LOCK_CNT_ZERO(v, thread_id, ERR, "Lock counter %u",
 				v->qsbr_cnt[thread_id].lock_cnt);

 	/* Acquire the changes to the shared data structure released
diff --git a/lib/stack/rte_stack.c b/lib/stack/rte_stack.c
index 1fabec2bfe..1dab6d6645 100644
--- a/lib/stack/rte_stack.c
+++ b/lib/stack/rte_stack.c
@@ -56,7 +56,7 @@ rte_stack_create(const char *name, unsigned int count, int socket_id,
 	int ret;

 	if (flags & ~(RTE_STACK_F_LF)) {
-		STACK_LOG_ERR("Unsupported stack flags %#x\n", flags);
+		STACK_LOG_ERR("Unsupported stack flags %#x", flags);
 		return NULL;
 	}

@@ -65,7 +65,7 @@ rte_stack_create(const char *name, unsigned int count, int socket_id,
 #endif
 #if !defined(RTE_STACK_LF_SUPPORTED)
 	if (flags & RTE_STACK_F_LF) {
-		STACK_LOG_ERR("Lock-free stack is not supported on your platform\n");
+		STACK_LOG_ERR("Lock-free stack is not supported on your platform");
 		rte_errno = ENOTSUP;
 		return NULL;
 	}
@@ -82,7 +82,7 @@ rte_stack_create(const char *name, unsigned int count, int socket_id,

 	te = rte_zmalloc("STACK_TAILQ_ENTRY", sizeof(*te), 0);
 	if (te == NULL) {
-		STACK_LOG_ERR("Cannot reserve memory for tailq\n");
+		STACK_LOG_ERR("Cannot reserve memory for tailq");
 		rte_errno = ENOMEM;
 		return NULL;
 	}
@@ -92,7 +92,7 @@ rte_stack_create(const char *name, unsigned int count, int socket_id,
 	mz = rte_memzone_reserve_aligned(mz_name, sz, socket_id,
 					 0, __alignof__(*s));
 	if (mz == NULL) {
-		STACK_LOG_ERR("Cannot reserve stack memzone!\n");
+		STACK_LOG_ERR("Cannot reserve stack memzone!");
 		rte_mcfg_tailq_write_unlock();
 		rte_free(te);
 		return NULL;
diff --git a/lib/vhost/vhost_crypto.c b/lib/vhost/vhost_crypto.c
index 9bf5ef67b9..7b22281815 100644
--- a/lib/vhost/vhost_crypto.c
+++ b/lib/vhost/vhost_crypto.c
@@ -245,7 +245,7 @@ transform_cipher_param(struct rte_crypto_sym_xform *xform,
 		return ret;

 	if (param->cipher_key_len > VHOST_USER_CRYPTO_MAX_CIPHER_KEY_LENGTH) {
-		VC_LOG_DBG("Invalid cipher key length\n");
+		VC_LOG_DBG("Invalid cipher key length");
 		return -VIRTIO_CRYPTO_BADMSG;
 	}

@@ -301,7 +301,7 @@ transform_chain_param(struct rte_crypto_sym_xform *xforms,
 		return ret;

 	if (param->cipher_key_len > VHOST_USER_CRYPTO_MAX_CIPHER_KEY_LENGTH) {
-		VC_LOG_DBG("Invalid cipher key length\n");
+		VC_LOG_DBG("Invalid cipher key length");
 		return -VIRTIO_CRYPTO_BADMSG;
 	}

@@ -321,7 +321,7 @@ transform_chain_param(struct rte_crypto_sym_xform *xforms,
 		return ret;

 	if (param->auth_key_len > VHOST_USER_CRYPTO_MAX_HMAC_KEY_LENGTH) {
-		VC_LOG_DBG("Invalid auth key length\n");
+		VC_LOG_DBG("Invalid auth key length");
 		return -VIRTIO_CRYPTO_BADMSG;
 	}

--
2.34.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2024-03-05 17:39:31.334676812 +0800
+++ 0007-lib-remove-redundant-newline-from-logs.patch	2024-03-05 17:39:30.663566489 +0800
@@ -1 +1 @@
-From ae282b0611c33aa73a01ee6137d116155053b835 Mon Sep 17 00:00:00 2001
+From fd6f07da946292d1637b7fd4ae42fd08d2c5bb84 Mon Sep 17 00:00:00 2001
@@ -7,0 +8 @@
+Cc: Xueming Li <xuemingl@nvidia.com>
@@ -9 +10 @@
-Fix places where two newline characters may be logged.
+[ upstream commit ae282b0611c33aa73a01ee6137d116155053b835 ]
@@ -11 +12 @@
-Cc: stable@dpdk.org
+Fix places where two newline characters may be logged.
@@ -48 +49 @@
-index 52d6d010c7..f21f9cc5a0 100644
+index 30f919cd40..2a5599b7d8 100644
@@ -51 +52 @@
-@@ -407,7 +407,7 @@ ipsec_mb_ipc_request(const struct rte_mp_msg *mp_msg, const void *peer)
+@@ -406,7 +406,7 @@ ipsec_mb_ipc_request(const struct rte_mp_msg *mp_msg, const void *peer)
@@ -175 +176 @@
-index ead8c9a623..b233c0ecd7 100644
+index d8769f0b8d..a3a8fc9c07 100644
@@ -178 +179 @@
-@@ -2074,7 +2074,7 @@ rte_cryptodev_sym_session_create(uint8_t dev_id,
+@@ -2072,7 +2072,7 @@ rte_cryptodev_sym_session_create(uint8_t dev_id,
@@ -1297 +1298 @@
-index 3e1ef1ac25..6e5443e5f8 100644
+index 9bf5ef67b9..7b22281815 100644

  parent reply	other threads:[~2024-03-05  9:49 UTC|newest]

Thread overview: 263+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-03-05  9:45 patches have " Xueming Li
2024-03-05  9:45 ` patch 'buildtools/cmdline: fix generated code for IP addresses' has " Xueming Li
2024-03-05  9:45 ` patch 'buildtools/cmdline: fix IP address initializer' " Xueming Li
2024-03-05  9:45 ` patch 'hash: remove some dead code' " Xueming Li
2024-03-05  9:45 ` patch 'regexdev: fix logtype register' " Xueming Li
2024-03-05  9:45 ` patch 'lib: use dedicated logtypes and macros' " Xueming Li
2024-03-05  9:45 ` patch 'lib: add newline in logs' " Xueming Li
2024-03-05  9:45 ` Xueming Li [this message]
2024-03-05  9:45 ` patch 'dma/dpaa2: fix logtype register' " Xueming Li
2024-03-05  9:45 ` patch 'net/i40e: remove redundant judgment in flow parsing' " Xueming Li
2024-03-05  9:45 ` patch 'net/iavf: fix memory leak on security context error' " Xueming Li
2024-03-05  9:45 ` patch 'net/ixgbe: fix memoy leak after device init failure' " Xueming Li
2024-03-05  9:45 ` patch 'net/ice: fix link update' " Xueming Li
2024-03-05  9:45 ` patch 'net/ice: fix tunnel TSO capabilities' " Xueming Li
2024-03-05  9:45 ` patch 'net/iavf: fix no polling mode switching' " Xueming Li
2024-03-05  9:45 ` patch 'net/iavf: fix crash on VF start' " Xueming Li
2024-03-05  9:45 ` patch 'net/ice: fix memory leaks' " Xueming Li
2024-03-05  9:45 ` patch 'kernel/freebsd: fix module build on FreeBSD 14' " Xueming Li
2024-03-05  9:45 ` patch 'build: fix reasons conflict' " Xueming Li
2024-03-05  9:46 ` patch 'app/graph: fix build reason' " Xueming Li
2024-03-05  9:46 ` patch 'telemetry: fix connected clients count' " Xueming Li
2024-03-05  9:46 ` patch 'telemetry: fix empty JSON dictionaries' " Xueming Li
2024-03-05  9:46 ` patch 'gro: fix reordering of packets' " Xueming Li
2024-03-05  9:46 ` patch 'ci: update versions of actions in GHA' " Xueming Li
2024-03-05  9:46 ` patch 'eal/x86: add AMD vendor check for TSC calibration' " Xueming Li
2024-03-05 11:17   ` Tummala, Sivaprasad
2024-03-05  9:46 ` patch 'doc: remove cmdline polling mode deprecation notice' " Xueming Li
2024-03-05  9:46 ` patch 'eal: verify strdup return' " Xueming Li
2024-03-05  9:46 ` patch 'bus/dpaa: " Xueming Li
2024-03-05  9:46 ` patch 'bus/fslmc: " Xueming Li
2024-03-05  9:46 ` patch 'bus/vdev: " Xueming Li
2024-03-05  9:46 ` patch 'dma/idxd: " Xueming Li
2024-03-05  9:46 ` patch 'event/cnxk: " Xueming Li
2024-03-05  9:46 ` patch 'net/failsafe: fix memory leak in args parsing' " Xueming Li
2024-03-05  9:46 ` patch 'net/nfp: verify strdup return' " Xueming Li
2024-03-05  9:46 ` patch 'app/dumpcap: " Xueming Li
2024-03-05  9:46 ` patch 'app/pdump: " Xueming Li
2024-03-05  9:46 ` patch 'app/crypto-perf: " Xueming Li
2024-03-05  9:46 ` patch 'app/dma-perf: " Xueming Li
2024-03-05  9:46 ` patch 'app/testpmd: " Xueming Li
2024-03-05  9:46 ` patch 'test: " Xueming Li
2024-03-05  9:46 ` patch 'examples/qos_sched: fix memory leak in args parsing' " Xueming Li
2024-03-05  9:46 ` patch 'examples/vhost: verify strdup return' " Xueming Li
2024-03-05  9:46 ` patch 'pipeline: fix calloc parameters' " Xueming Li
2024-03-05  9:46 ` patch 'eventdev: " Xueming Li
2024-03-05  9:46 ` patch 'dmadev: " Xueming Li
2024-03-05  9:46 ` patch 'rawdev: " Xueming Li
2024-03-05  9:46 ` patch 'common/mlx5: " Xueming Li
2024-03-05  9:46 ` patch 'net/bnx2x: " Xueming Li
2024-03-05  9:46 ` patch 'net/nfp: " Xueming Li
2024-03-05  9:46 ` patch 'net/sfc: " Xueming Li
2024-03-05  9:46 ` patch 'build: fix linker warnings about undefined symbols' " Xueming Li
2024-03-05  9:46 ` patch 'build: link static libs with whole-archive in subproject' " Xueming Li
2024-03-05  9:46 ` patch 'rcu: use atomic operation on acked token' " Xueming Li
2024-03-05  9:46 ` patch 'rcu: fix acked token in debug log' " Xueming Li
2024-03-05  9:46 ` patch 'net: fix TCP/UDP checksum with padding data' " Xueming Li
2024-03-05  9:46 ` patch 'vhost: fix virtqueue access check in datapath' " Xueming Li
2024-03-05  9:46 ` patch 'vhost: fix virtqueue access check in VDUSE setup' " Xueming Li
2024-03-05  9:46 ` patch 'vhost: fix virtqueue access check in vhost-user " Xueming Li
2024-03-05  9:46 ` patch 'net/virtio: remove duplicate queue xstats' " Xueming Li
2024-03-05  9:46 ` patch 'vhost: fix deadlock during vDPA SW live migration' " Xueming Li
2024-03-05  9:46 ` patch 'vdpa/mlx5: fix queue enable drain CQ' " Xueming Li
2024-03-05  9:46 ` patch 'vhost: fix memory leak in Virtio Tx split path' " Xueming Li
2024-03-05  9:46 ` patch 'cryptodev: remove unused extern variable' " Xueming Li
2024-03-05  9:46 ` patch 'examples/ipsec-secgw: fix width of variables' " Xueming Li
2024-03-05  9:46 ` patch 'common/cnxk: fix memory leak in CPT init' " Xueming Li
2024-03-05  9:46 ` patch 'crypto/cnxk: fix CN9K ECDH public key verification' " Xueming Li
2024-03-05  9:46 ` patch 'app/crypto-perf: fix next segment mbuf' " Xueming Li
2024-03-05  9:46 ` patch 'app/crypto-perf: fix data comparison' " Xueming Li
2024-03-05  9:46 ` patch 'app/crypto-perf: fix encrypt operation verification' " Xueming Li
2024-03-05  9:46 ` patch 'event/cnxk: fix dequeue timeout configuration' " Xueming Li
2024-03-05  9:46 ` patch 'test/event: skip test if no driver is present' " Xueming Li
2024-03-05  9:46 ` patch 'doc: fix commands in eventdev test tool guide' " Xueming Li
2024-03-05  9:46 ` patch 'ethdev: fix NVGRE encap flow action description' " Xueming Li
2024-03-05  9:46 ` patch 'net/nfp: fix resource leak for device initialization' " Xueming Li
2024-03-05  9:46 ` patch 'net/nfp: fix resource leak for CoreNIC firmware' " Xueming Li
2024-03-05  9:46 ` patch 'net/nfp: fix resource leak for PF initialization' " Xueming Li
2024-03-05  9:46 ` patch 'net/nfp: fix resource leak for flower firmware' " Xueming Li
2024-03-05  9:46 ` patch 'net/nfp: fix resource leak for exit of CoreNIC " Xueming Li
2024-03-05  9:46 ` patch 'net/nfp: fix resource leak for exit of flower " Xueming Li
2024-03-05  9:47 ` patch 'net/nfp: fix resource leak for VF' " Xueming Li
2024-03-05  9:47 ` patch 'net/af_xdp: fix memzone leak on config failure' " Xueming Li
2024-03-05  9:47 ` patch 'net/memif: fix crash with Tx burst larger than 255' " Xueming Li
2024-03-05  9:47 ` patch 'net/hns3: refactor VF mailbox message struct' " Xueming Li
2024-03-05  9:47 ` patch 'net/hns3: refactor PF " Xueming Li
2024-03-05  9:47 ` patch 'net/hns3: refactor send mailbox function' " Xueming Li
2024-03-05  9:47 ` patch 'net/hns3: refactor handle " Xueming Li
2024-03-05  9:47 ` patch 'net/hns3: fix VF multiple count on one reset' " Xueming Li
2024-03-05  9:47 ` patch 'net/hns3: fix disable command with firmware' " Xueming Li
2024-03-05  9:47 ` patch 'net/hns3: fix reset level comparison' " Xueming Li
2024-03-05  9:47 ` patch 'net/nfp: fix Rx memory leak' " Xueming Li
2024-03-05  9:47 ` patch 'net/nfp: fix Rx descriptor' " Xueming Li
2024-03-05  9:47 ` patch 'net/hns3: remove QinQ insert support for VF' " Xueming Li
2024-03-05  9:47 ` patch 'doc: add --latencystats option in testpmd guide' " Xueming Li
2024-03-05  9:47 ` patch 'app/testpmd: hide --bitrate-stats in help if disabled' " Xueming Li
2024-03-05  9:47 ` patch 'net/vmxnet3: fix initialization on FreeBSD' " Xueming Li
2024-03-05  9:47 ` patch 'net/nfp: fix device close' " Xueming Li
2024-03-05  9:47 ` patch 'net/nfp: fix device resource freeing' " Xueming Li
2024-03-05  9:47 ` patch 'net/nfp: free switch domain ID on close' " Xueming Li
2024-03-05  9:47 ` patch 'net/mana: prevent values overflow returned from RDMA layer' " Xueming Li
2024-03-05  9:47 ` patch 'drivers/net: fix buffer overflow for packet types list' " Xueming Li
2024-03-05  9:47 ` patch 'app/testpmd: fix crash in multi-process forwarding' " Xueming Li
2024-03-05  9:47 ` patch 'net/ionic: fix missing volatile type for cqe pointers' " Xueming Li
2024-03-05  9:47 ` patch 'net/ionic: fix RSS query' " Xueming Li
2024-03-05  9:47 ` patch 'net/ionic: fix device close' " Xueming Li
2024-03-05  9:47 ` patch 'net/bonding: fix flow count query' " Xueming Li
2024-03-05  9:47 ` patch 'net/mana: fix memory leak on MR allocation' " Xueming Li
2024-03-05  9:47 ` patch 'net/mana: handle MR cache expansion failure' " Xueming Li
2024-03-05  9:47 ` patch 'common/sfc_efx/base: use C11 static assert' " Xueming Li
2024-03-05  9:47 ` patch 'net/memif: fix extra mbuf refcnt update in zero copy Tx' " Xueming Li
2024-03-05  9:47 ` patch 'net/softnic: fix include of log library' " Xueming Li
2024-03-05  9:47 ` patch 'net/gve: fix DQO for chained descriptors' " Xueming Li
2024-03-05  9:47 ` patch 'net: add macros for VLAN metadata parsing' " Xueming Li
2024-03-05  9:47 ` patch 'net/netvsc: fix " Xueming Li
2024-03-05  9:47 ` patch 'net/bnxt: fix array overflow' " Xueming Li
2024-03-05  9:47 ` patch 'net/bnxt: fix 50G and 100G forced speed' " Xueming Li
2024-03-05  9:47 ` patch 'net/bnxt: fix speed change from 200G to 25G on Thor' " Xueming Li
2024-03-05  9:47 ` patch 'net/bnxt: fix backward firmware compatibility' " Xueming Li
2024-03-05  9:47 ` patch 'net/bnxt: modify locking for representor Tx' " Xueming Li
2024-03-05  9:47 ` patch 'net/bnxt: fix deadlock in ULP timer callback' " Xueming Li
2024-03-05  9:47 ` patch 'ml/cnxk: fix xstats calculation' " Xueming Li
2024-03-05  9:47 ` patch 'net/cnxk: fix flow RSS configuration' " Xueming Li
2024-03-05  9:47 ` patch 'net/thunderx: fix DMAC control register update' " Xueming Li
2024-03-05  9:47 ` patch 'common/cnxk: fix mbox region copy' " Xueming Li
2024-03-05  9:47 ` patch 'common/cnxk: fix VLAN check for inner header' " Xueming Li
2024-03-05  9:47 ` patch 'net/cnxk: fix aged flow query' " Xueming Li
2024-03-05  9:47 ` patch 'net/mlx5: fix jump action validation' " Xueming Li
2024-03-05  9:47 ` patch 'net/mlx5: fix flow tag modification' " Xueming Li
2024-03-05  9:47 ` patch 'net/mlx5/hws: fix ESP flow matching validation' " Xueming Li
2024-03-05  9:47 ` patch 'net/mlx5: fix GENEVE TLV option management' " Xueming Li
2024-03-05  9:47 ` patch 'common/mlx5: fix duplicate read of general capabilities' " Xueming Li
2024-03-05  9:47 ` patch 'common/mlx5: fix query sample info capability' " Xueming Li
2024-03-05  9:47 ` patch 'net/mlx5: remove GENEVE options length limitation' " Xueming Li
2024-03-05  9:47 ` patch 'net/mlx5: fix GENEVE option item translation' " Xueming Li
2024-03-05  9:47 ` patch 'net/mlx5: fix stats query crash in secondary process' " Xueming Li
2024-03-05  9:47 ` patch 'net/nfp: fix NFD3 metadata " Xueming Li
2024-03-05  9:47 ` patch 'net/nfp: fix NFDk " Xueming Li
2024-03-05  9:47 ` patch 'app/testpmd: fix GRO packets flush on timeout' " Xueming Li
2024-04-13 12:48 ` patch " Xueming Li
2024-04-13 12:48   ` patch 'doc: fix configuration in baseband 5GNR driver guide' " Xueming Li
2024-04-13 12:48   ` patch 'event/dlb2: remove superfluous memcpy' " Xueming Li
2024-04-13 12:48   ` patch 'test/event: fix crash in Tx adapter freeing' " Xueming Li
2024-04-13 12:48   ` patch 'eventdev: improve Doxygen comments on configure struct' " Xueming Li
2024-04-13 12:48   ` patch 'eventdev: fix Doxygen processing of vector " Xueming Li
2024-04-13 12:48   ` patch 'eventdev/crypto: fix enqueueing' " Xueming Li
2024-04-13 12:48   ` patch 'app/crypto-perf: fix copy segment size' " Xueming Li
2024-04-13 12:48   ` patch 'app/crypto-perf: fix out-of-place mbuf " Xueming Li
2024-04-13 12:48   ` patch 'app/crypto-perf: add missing op resubmission' " Xueming Li
2024-04-13 12:48   ` patch 'doc: fix typos in cryptodev overview' " Xueming Li
2024-04-13 12:48   ` patch 'common/qat: fix legacy flag' " Xueming Li
2024-04-13 12:48   ` patch 'vhost: fix VDUSE device destruction failure' " Xueming Li
2024-04-13 12:48   ` patch 'net/af_xdp: fix leak on XSK configuration " Xueming Li
2024-04-13 12:48   ` patch 'app/testpmd: fix flow modify tag typo' " Xueming Li
2024-04-13 12:48   ` patch 'net/mlx5: fix modify flex item' " Xueming Li
2024-04-13 12:48   ` patch 'app/testpmd: return if no packets in GRO heavy weight mode' " Xueming Li
2024-04-13 12:48   ` patch 'app/testpmd: fix async flow create failure handling' " Xueming Li
2024-04-13 12:48   ` patch 'net/tap: do not overwrite flow API errors' " Xueming Li
2024-04-13 12:48   ` patch 'net/tap: fix traffic control handle calculation' " Xueming Li
2024-04-13 12:48   ` patch 'net/bnxt: fix null pointer dereference' " Xueming Li
2024-04-13 12:48   ` patch 'net/ixgbevf: fix RSS init for x550 NICs' " Xueming Li
2024-04-13 12:48   ` patch 'net/iavf: remove error logs for VLAN offloading' " Xueming Li
2024-04-13 12:48   ` patch 'net/ixgbe: increase VF reset timeout' " Xueming Li
2024-04-13 12:48   ` patch 'net/i40e: remove incorrect 16B descriptor read block' " Xueming Li
2024-04-13 12:48   ` patch 'net/iavf: " Xueming Li
2024-04-13 12:48   ` patch 'net/ice: " Xueming Li
2024-04-13 12:48   ` patch 'common/cnxk: fix inline device pointer check' " Xueming Li
2024-04-13 12:48   ` patch 'net/cnxk: fix Rx packet format check condition' " Xueming Li
2024-04-13 12:48   ` patch 'net/bnx2x: fix warnings about memcpy lengths' " Xueming Li
2024-04-13 12:48   ` patch 'common/cnxk: remove CN9K inline IPsec FP opcodes' " Xueming Li
2024-04-13 12:48   ` patch 'net/cnxk: fix buffer size configuration' " Xueming Li
2024-04-13 12:48   ` patch 'common/cnxk: fix Tx MTU " Xueming Li
2024-04-13 12:48   ` patch 'net/cnxk: fix MTU limit' " Xueming Li
2024-04-13 12:48   ` patch 'common/cnxk: fix RSS RETA configuration' " Xueming Li
2024-04-13 12:48   ` patch 'net/cnxk: fix indirect mbuf handling in Tx' " Xueming Li
2024-04-13 12:48   ` patch 'net/cnxk: add cookies check for multi-segment offload' " Xueming Li
2024-04-13 12:48   ` patch 'common/cnxk: fix mbox struct attributes' " Xueming Li
2024-04-13 12:48   ` patch 'net/cnxk: fix mbuf fields in multi-segment Tx' " Xueming Li
2024-04-13 12:48   ` patch 'common/cnxk: fix link config for SDP' " Xueming Li
2024-04-13 12:48   ` patch 'common/cnxk: remove dead code' " Xueming Li
2024-04-13 12:48   ` patch 'common/cnxk: fix possible out-of-bounds access' " Xueming Li
2024-04-13 12:48   ` patch 'net/cnxk: improve Tx performance for SW mbuf free' " Xueming Li
2024-04-13 12:48   ` patch 'doc: fix aging poll frequency option in cnxk guide' " Xueming Li
2024-04-13 12:48   ` patch 'net/mlx5/hws: skip item when inserting rules by index' " Xueming Li
2024-04-13 12:48   ` patch 'net/mlx5/hws: check not supported fields in VXLAN' " Xueming Li
2024-04-13 12:48   ` patch 'net/mlx5/hws: fix VLAN item in non-relaxed mode' " Xueming Li
2024-04-13 12:48   ` patch 'net/mlx5: fix use after free when releasing Tx queues' " Xueming Li
2024-04-13 12:48   ` patch 'net/mlx5: fix error packets drop in regular Rx' " Xueming Li
2024-04-13 12:48   ` patch 'net/mlx5: prevent querying aged flows on uninit port' " Xueming Li
2024-04-13 12:48   ` patch 'net/mlx5/hws: fix VLAN inner type' " Xueming Li
2024-04-13 12:48   ` patch 'net/mlx5: fix condition of LACP miss flow' " Xueming Li
2024-04-13 12:48   ` patch 'net/mlx5: fix conntrack action handle representation' " Xueming Li
2024-04-13 12:48   ` patch 'net/mlx5: fix connection tracking action validation' " Xueming Li
2024-04-13 12:48   ` patch 'net/mlx5: fix HWS registers initialization' " Xueming Li
2024-04-13 12:48   ` patch 'net/mlx5/hws: enable multiple integrity items' " Xueming Li
2024-04-13 12:48   ` patch 'net/mlx5: fix VLAN handling in meter split' " Xueming Li
2024-04-13 12:48   ` patch 'net/mlx5: fix parameters verification in HWS table create' " Xueming Li
2024-04-13 12:48   ` patch 'net/mlx5: fix flow counter cache starvation' " Xueming Li
2024-04-13 12:49   ` patch 'net/mlx5: fix counters map in bonding mode' " Xueming Li
2024-04-13 12:49   ` patch 'net/mlx5: fix flow action template expansion' " Xueming Li
2024-04-13 12:49   ` patch 'net/mlx5: remove device status check in flow creation' " Xueming Li
2024-04-13 12:49   ` patch 'test: fix probing in secondary process' " Xueming Li
2024-04-13 12:49   ` patch 'bus/vdev: fix devargs " Xueming Li
2024-04-13 12:49   ` patch 'config: fix CPU instruction set for cross-build' " Xueming Li
2024-04-13 12:49   ` patch 'test/mbuf: fix external mbuf case with assert enabled' " Xueming Li
2024-04-13 12:49   ` patch 'test: assume C source files are UTF-8 encoded' " Xueming Li
2024-04-13 12:49   ` patch 'test: do not count skipped tests as executed' " Xueming Li
2024-04-13 12:49   ` patch 'examples/packet_ordering: fix Rx with reorder mode disabled' " Xueming Li
2024-04-13 12:49   ` patch 'examples/l3fwd: fix Rx over not ready port' " Xueming Li
2024-04-13 12:49   ` patch 'dts: fix smoke tests driver regex' " Xueming Li
2024-04-13 12:49   ` patch 'examples/l3fwd: fix Rx queue configuration' " Xueming Li
2024-04-13 12:49   ` patch 'net/virtio: fix vDPA device init advertising control queue' " Xueming Li
2024-04-13 12:49   ` patch 'build: pass cflags in subproject' " Xueming Li
2024-04-13 12:49   ` patch 'examples/ipsec-secgw: fix cryptodev to SA mapping' " Xueming Li
2024-04-13 12:49   ` patch 'crypto/qat: fix crash with CCM null AAD pointer' " Xueming Li
2024-04-13 12:49   ` patch 'net/hns3: enable PFC for all user priorities' " Xueming Li
2024-04-13 12:49   ` patch 'doc: add traffic manager in features table' " Xueming Li
2024-04-13 12:49   ` patch 'app/testpmd: fix async indirect action list creation' " Xueming Li
2024-04-13 12:49   ` patch 'doc: add link speeds configuration in features table' " Xueming Li
2024-04-13 12:49   ` patch 'net/nfp: fix getting firmware VNIC version' " Xueming Li
2024-04-13 12:49   ` patch 'net/nfp: fix IPsec data endianness' " Xueming Li
2024-04-13 12:49   ` patch 'net/ena: fix fast mbuf free' " Xueming Li
2024-04-13 12:49   ` patch 'net/ena/base: limit exponential backoff' " Xueming Li
2024-04-13 12:49   ` patch 'net/ena/base: restructure interrupt handling' " Xueming Li
2024-04-13 12:49   ` patch 'net/nfp: fix switch domain free check' " Xueming Li
2024-04-13 12:49   ` patch 'net/nfp: fix initialization failure flow' " Xueming Li
2024-04-13 12:49   ` patch 'app/testpmd: fix --stats-period option check' " Xueming Li
2024-04-13 12:49   ` patch 'app/testpmd: fix burst option parsing' " Xueming Li
2024-04-13 12:49   ` patch 'app/testpmd: fix error message for invalid option' " Xueming Li
2024-04-13 12:49   ` patch 'net/hns3: support new device' " Xueming Li
2024-04-13 12:49   ` patch 'net/mlx5: fix HWS meter actions availability' " Xueming Li
2024-04-13 12:49   ` patch 'net/mlx5: fix sync meter processing in HWS' " Xueming Li
2024-04-13 12:49   ` patch 'net/mlx5: fix indirect action async job initialization' " Xueming Li
2024-04-13 12:49   ` patch 'net/mlx5: fix non-masked indirect list meter translation' " Xueming Li
2024-04-13 12:49   ` patch 'doc: update link to Windows DevX in mlx5 guide' " Xueming Li
2024-04-13 12:49   ` patch 'net/mlx5: fix VLAN ID in flow modify' " Xueming Li
2024-04-13 12:49   ` patch 'net/mlx5: fix meter policy priority' " Xueming Li
2024-04-13 12:49   ` patch 'net/mlx5: remove duplication of L3 flow item validation' " Xueming Li
2024-04-13 12:49   ` patch 'net/mlx5: fix IP-in-IP tunnels recognition' " Xueming Li
2024-04-13 12:49   ` patch 'net/mlx5: fix DR context release ordering' " Xueming Li
2024-04-13 12:49   ` patch 'net/mlx5/hws: fix direct index insert on depend WQE' " Xueming Li
2024-04-13 12:49   ` patch 'net/mlx5: fix template clean up of FDB control flow rule' " Xueming Li
2024-04-13 12:49   ` patch 'net/mlx5: fix flow configure validation' " Xueming Li
2024-04-13 12:49   ` patch 'net/mlx5: prevent ioctl failure log flooding' " Xueming Li
2024-04-13 12:49   ` patch 'net/mlx5: fix age position in hairpin split' " Xueming Li
2024-04-13 12:49   ` patch 'net/mlx5: fix drop action release timing' " Xueming Li
2024-04-13 12:49   ` patch 'net/mlx5: fix warning about copy length' " Xueming Li
2024-04-13 12:49   ` patch 'net/bnxt: fix number of Tx queues being created' " Xueming Li
2024-04-13 12:49   ` patch 'examples/ipsec-secgw: fix Rx queue ID in Rx callback' " Xueming Li
2024-04-13 12:49   ` patch 'doc: fix default IP fragments maximum in programmer guide' " Xueming Li
2024-04-13 12:49   ` patch 'net/nfp: fix uninitialized variable' " Xueming Li
2024-04-13 12:49   ` patch 'app/testpmd: fix auto-completion for indirect action list' " Xueming Li
2024-04-13 12:49   ` patch 'net/ena: fix mbuf double free in fast free mode' " Xueming Li
2024-04-13 12:49   ` patch 'net/vmxnet3: ignore Rx queue interrupt setup on FreeBSD' " Xueming Li
2024-04-13 12:49   ` patch 'net/igc: fix timesync disable' " Xueming Li
2024-04-13 12:49   ` patch 'net/mlx5/hws: fix memory access in L3 decapsulation' " Xueming Li
2024-04-13 12:49   ` patch 'net/mlx5: fix sync flow meter action' " Xueming Li
2024-04-13 12:49   ` patch 'doc: fix typo in profiling guide' " Xueming Li
2024-04-13 12:50   ` patch 'doc: fix typo in packet framework " Xueming Li
2024-04-13 12:50   ` patch 'test/power: fix typo in error message' " Xueming Li
2024-04-13 12:50   ` patch 'test/cfgfile: fix typo in error messages' " Xueming Li
2024-04-13 12:50   ` patch 'examples/ipsec-secgw: fix typo in error message' " Xueming Li
2024-04-13 12:50   ` patch 'dts: strip whitespaces from stdout and stderr' " Xueming Li
2024-04-13 12:50   ` patch 'net/ena/base: fix metrics excessive memory consumption' " Xueming Li

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=20240305094757.439387-8-xuemingl@nvidia.com \
    --to=xuemingl@nvidia.com \
    --cc=david.marchand@redhat.com \
    --cc=fengchengwen@huawei.com \
    --cc=mattias.ronnblom@ericsson.com \
    --cc=stable@dpdk.org \
    --cc=stephen@networkplumber.org \
    /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).