DPDK patches and discussions
 help / color / mirror / Atom feed
From: <pbhagavatula@marvell.com>
To: <mb@smartsharesystems.com>, <jerinj@marvell.com>,
	Wisam Jaddo <wisamm@nvidia.com>,
	Aman Singh <aman.deep.singh@intel.com>,
	Chas Williams <3chas3@gmail.com>,
	"Min Hu (Connor)" <humin29@huawei.com>,
	Akhil Goyal <gakhil@marvell.com>,
	Anoob Joseph <anoobj@marvell.com>,
	Nicolas Chautru <nicolas.chautru@intel.com>,
	David Hunt <david.hunt@intel.com>,
	Chengwen Feng <fengchengwen@huawei.com>,
	Kevin Laatz <kevin.laatz@intel.com>,
	"Bruce Richardson" <bruce.richardson@intel.com>,
	Konstantin Ananyev <konstantin.ananyev@huawei.com>,
	Radu Nicolau <radu.nicolau@intel.com>,
	Tomasz Kantecki <tomasz.kantecki@intel.com>,
	Fan Zhang <fanzhang.oss@gmail.com>,
	Sunil Kumar Kori <skori@marvell.com>,
	"Pavan Nikhilesh" <pbhagavatula@marvell.com>,
	Anatoly Burakov <anatoly.burakov@intel.com>,
	Sivaprasad Tummala <sivaprasad.tummala@amd.com>,
	Jingjing Wu <jingjing.wu@intel.com>,
	Volodymyr Fialko <vfialko@marvell.com>,
	Cristian Dumitrescu <cristian.dumitrescu@intel.com>,
	John McNamara <john.mcnamara@intel.com>,
	Maxime Coquelin <maxime.coquelin@redhat.com>,
	Chenbo Xia <chenbox@nvidia.com>
Cc: <dev@dpdk.org>
Subject: [RFC 2/2] examples: use optimal burst size
Date: Wed, 26 Nov 2025 13:54:14 +0530	[thread overview]
Message-ID: <20251126082414.91933-2-pbhagavatula@marvell.com> (raw)
In-Reply-To: <20251126082414.91933-1-pbhagavatula@marvell.com>

From: Pavan Nikhilesh <pbhagavatula@marvell.com>

Replace hardcoded burst sizes with RTE_OPTIMAL_BURST_SIZE to
adapt to platform capabilities.

Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
---
 app/test-eventdev/evt_options.c            |  2 +-
 app/test-flow-perf/main.c                  |  2 +-
 app/test-pmd/testpmd.h                     |  2 +-
 app/test/test_link_bonding.c               |  2 +-
 app/test/test_link_bonding_mode4.c         |  4 +--
 app/test/test_pmd_perf.c                   |  2 +-
 app/test/test_security_inline_proto.c      |  2 +-
 examples/bbdev_app/main.c                  |  2 +-
 examples/bond/main.c                       |  2 +-
 examples/distributor/main.c                |  4 +--
 examples/dma/dmafwd.c                      |  2 +-
 examples/ethtool/ethtool-app/main.c        |  2 +-
 examples/ip_fragmentation/main.c           |  2 +-
 examples/ip_reassembly/main.c              |  3 +--
 examples/ipsec-secgw/ipsec-secgw.h         |  4 +--
 examples/ipv4_multicast/main.c             |  2 +-
 examples/l2fwd-cat/l2fwd-cat.c             |  2 +-
 examples/l2fwd-crypto/main.c               |  2 +-
 examples/l2fwd-event/l2fwd_common.h        |  2 +-
 examples/l2fwd-jobstats/main.c             |  2 +-
 examples/l2fwd-keepalive/main.c            |  2 +-
 examples/l2fwd-macsec/main.c               |  2 +-
 examples/l2fwd/main.c                      |  2 +-
 examples/l3fwd-power/main.c                |  2 +-
 examples/l3fwd/l3fwd.h                     |  4 +--
 examples/l3fwd/main.c                      | 29 +++++++++++++++-------
 examples/link_status_interrupt/main.c      |  4 +--
 examples/multi_process/symmetric_mp/main.c |  2 +-
 examples/ntb/ntb_fwd.c                     |  4 +--
 examples/packet_ordering/main.c            |  2 +-
 examples/qos_meter/main.c                  |  4 +--
 examples/qos_sched/main.h                  |  4 +--
 examples/rxtx_callbacks/main.c             |  2 +-
 examples/skeleton/basicfwd.c               |  2 +-
 examples/vhost/main.h                      |  2 +-
 examples/vhost_crypto/main.c               |  2 +-
 examples/vm_power_manager/main.c           |  2 +-
 examples/vmdq/main.c                       |  2 +-
 examples/vmdq_dcb/main.c                   |  2 +-
 39 files changed, 66 insertions(+), 56 deletions(-)

diff --git a/app/test-eventdev/evt_options.c b/app/test-eventdev/evt_options.c
index 0e70c971eb2e..55e2b07157d7 100644
--- a/app/test-eventdev/evt_options.c
+++ b/app/test-eventdev/evt_options.c
@@ -37,7 +37,7 @@ evt_options_default(struct evt_options *opt)
 	opt->expiry_nsec = 1E4;   /* 10000ns ~10us */
 	opt->prod_type = EVT_PROD_TYPE_SYNT;
 	opt->eth_queues = 1;
-	opt->vector_size = 64;
+	opt->vector_size = RTE_OPTIMAL_BURST_SIZE;
 	opt->vector_tmo_nsec = 100E3;
 	opt->crypto_op_type = RTE_CRYPTO_OP_TYPE_SYMMETRIC;
 	opt->crypto_cipher_alg = RTE_CRYPTO_CIPHER_NULL;
diff --git a/app/test-flow-perf/main.c b/app/test-flow-perf/main.c
index a8876acf1f90..13c5d6bf02eb 100644
--- a/app/test-flow-perf/main.c
+++ b/app/test-flow-perf/main.c
@@ -100,7 +100,7 @@ static uint8_t max_priority;
 static uint32_t rand_seed;
 static uint64_t meter_profile_values[3]; /* CIR CBS EBS values. */
 
-#define MAX_PKT_BURST    32
+#define MAX_PKT_BURST	  RTE_OPTIMAL_BURST_SIZE
 #define LCORE_MODE_PKT    1
 #define LCORE_MODE_STATS  2
 #define MAX_STREAMS      64
diff --git a/app/test-pmd/testpmd.h b/app/test-pmd/testpmd.h
index 492b5757f113..229146a8d677 100644
--- a/app/test-pmd/testpmd.h
+++ b/app/test-pmd/testpmd.h
@@ -78,7 +78,7 @@ struct cmdline_file_info {
 #define TX_DESC_MAX    2048
 
 #define MAX_PKT_BURST 512
-#define DEF_PKT_BURST 32
+#define DEF_PKT_BURST RTE_OPTIMAL_BURST_SIZE
 
 #define DEF_MBUF_CACHE 250
 
diff --git a/app/test/test_link_bonding.c b/app/test/test_link_bonding.c
index 19b064771aef..dd1b19104732 100644
--- a/app/test/test_link_bonding.c
+++ b/app/test/test_link_bonding.c
@@ -52,7 +52,7 @@
 #define RX_DESC_MAX	(2048)
 #define TX_DESC_MAX	(2048)
 #define MAX_PKT_BURST			(512)
-#define DEF_PKT_BURST			(16)
+#define DEF_PKT_BURST			(RTE_OPTIMAL_BURST_SIZE)
 
 #define BONDING_DEV_NAME			("net_bonding_ut")
 
diff --git a/app/test/test_link_bonding_mode4.c b/app/test/test_link_bonding_mode4.c
index ff13dbed93f3..ec336f06848c 100644
--- a/app/test/test_link_bonding_mode4.c
+++ b/app/test/test_link_bonding_mode4.c
@@ -41,8 +41,8 @@
 
 #define TEST_RX_DESC_MAX        (2048)
 #define TEST_TX_DESC_MAX        (2048)
-#define MAX_PKT_BURST           (32)
-#define DEF_PKT_BURST           (16)
+#define MAX_PKT_BURST		(RTE_OPTIMAL_BURST_SIZE)
+#define DEF_PKT_BURST		(RTE_OPTIMAL_BURST_SIZE)
 
 #define BONDING_DEV_NAME         ("net_bonding_m4_bond_dev")
 
diff --git a/app/test/test_pmd_perf.c b/app/test/test_pmd_perf.c
index 995b0a6f20c4..be4ebdf4c3ad 100644
--- a/app/test/test_pmd_perf.c
+++ b/app/test/test_pmd_perf.c
@@ -17,7 +17,7 @@
 #define NB_ETHPORTS_USED                (1)
 #define NB_SOCKETS                      (2)
 #define MEMPOOL_CACHE_SIZE 250
-#define MAX_PKT_BURST                   (32)
+#define MAX_PKT_BURST			(RTE_OPTIMAL_BURST_SIZE)
 #define RX_DESC_DEFAULT        (1024)
 #define TX_DESC_DEFAULT        (1024)
 #define RTE_PORT_ALL            (~(uint16_t)0x0)
diff --git a/app/test/test_security_inline_proto.c b/app/test/test_security_inline_proto.c
index 04ecfd02c6a1..40b579107008 100644
--- a/app/test/test_security_inline_proto.c
+++ b/app/test/test_security_inline_proto.c
@@ -44,7 +44,7 @@ test_inline_ipsec_sg(void)
 
 #define NB_ETHPORTS_USED		1
 #define MEMPOOL_CACHE_SIZE		32
-#define MAX_PKT_BURST			32
+#define MAX_PKT_BURST			RTE_OPTIMAL_BURST_SIZE
 #define RX_DESC_DEFAULT	1024
 #define TX_DESC_DEFAULT	1024
 #define RTE_PORT_ALL		(~(uint16_t)0x0)
diff --git a/examples/bbdev_app/main.c b/examples/bbdev_app/main.c
index 03f15f91cc6b..453bab9758f6 100644
--- a/examples/bbdev_app/main.c
+++ b/examples/bbdev_app/main.c
@@ -39,7 +39,7 @@
 #define LLR_1_BIT 0x81
 #define LLR_0_BIT 0x7F
 
-#define MAX_PKT_BURST 32
+#define MAX_PKT_BURST	   RTE_OPTIMAL_BURST_SIZE
 #define NB_MBUF 8191
 #define MEMPOOL_CACHE_SIZE 256
 
diff --git a/examples/bond/main.c b/examples/bond/main.c
index 9f38b63cbbad..36e7e0f4b54d 100644
--- a/examples/bond/main.c
+++ b/examples/bond/main.c
@@ -52,7 +52,7 @@
 
 #define NB_MBUF   (1024*8)
 
-#define MAX_PKT_BURST 32
+#define MAX_PKT_BURST	     RTE_OPTIMAL_BURST_SIZE
 #define BURST_TX_DRAIN_US 100      /* TX drain every ~100us */
 #define BURST_RX_INTERVAL_NS (10) /* RX poll interval ~100ns */
 
diff --git a/examples/distributor/main.c b/examples/distributor/main.c
index ea44939fba04..977b80e03697 100644
--- a/examples/distributor/main.c
+++ b/examples/distributor/main.c
@@ -23,10 +23,10 @@
 #define TX_RING_SIZE 1024
 #define NUM_MBUFS ((64*1024)-1)
 #define MBUF_CACHE_SIZE 128
-#define BURST_SIZE 64
+#define BURST_SIZE	 RTE_OPTIMAL_BURST_SIZE
 #define SCHED_RX_RING_SZ 8192
 #define SCHED_TX_RING_SZ 65536
-#define BURST_SIZE_TX 32
+#define BURST_SIZE_TX	 RTE_OPTIMAL_BURST_SIZE
 
 #define RTE_LOGTYPE_DISTRAPP RTE_LOGTYPE_USER1
 
diff --git a/examples/dma/dmafwd.c b/examples/dma/dmafwd.c
index 5ba0aaa40b21..3f9d934cd1b4 100644
--- a/examples/dma/dmafwd.c
+++ b/examples/dma/dmafwd.c
@@ -15,7 +15,7 @@
 
 /* size of ring used for software copying between rx and tx. */
 #define RTE_LOGTYPE_DMA RTE_LOGTYPE_USER1
-#define MAX_PKT_BURST 32
+#define MAX_PKT_BURST		     RTE_OPTIMAL_BURST_SIZE
 #define MEMPOOL_CACHE_SIZE 512
 #define MIN_POOL_SIZE 65536U
 #define CMD_LINE_OPT_PORTMASK_INDEX 1
diff --git a/examples/ethtool/ethtool-app/main.c b/examples/ethtool/ethtool-app/main.c
index 1f011a932166..183cbd714020 100644
--- a/examples/ethtool/ethtool-app/main.c
+++ b/examples/ethtool/ethtool-app/main.c
@@ -19,7 +19,7 @@
 #include "ethapp.h"
 
 #define MAX_PORTS RTE_MAX_ETHPORTS
-#define MAX_BURST_LENGTH 32
+#define MAX_BURST_LENGTH   RTE_OPTIMAL_BURST_SIZE
 #define PORT_RX_QUEUE_SIZE 1024
 #define PORT_TX_QUEUE_SIZE 1024
 #define PKTPOOL_EXTRA_SIZE 512
diff --git a/examples/ip_fragmentation/main.c b/examples/ip_fragmentation/main.c
index 1f841028442f..57bb0f52cb90 100644
--- a/examples/ip_fragmentation/main.c
+++ b/examples/ip_fragmentation/main.c
@@ -75,7 +75,7 @@
 
 #define NB_MBUF   8192
 
-#define MAX_PKT_BURST	32
+#define MAX_PKT_BURST	  RTE_OPTIMAL_BURST_SIZE
 #define BURST_TX_DRAIN_US 100 /* TX drain every ~100us */
 
 /* Configure how many packets ahead to prefetch, when reading packets */
diff --git a/examples/ip_reassembly/main.c b/examples/ip_reassembly/main.c
index 25b904dbd44d..bf4d30d0ef20 100644
--- a/examples/ip_reassembly/main.c
+++ b/examples/ip_reassembly/main.c
@@ -44,8 +44,7 @@
 
 #include <rte_ip_frag.h>
 
-#define MAX_PKT_BURST 32
-
+#define MAX_PKT_BURST RTE_OPTIMAL_BURST_SIZE
 
 #define RTE_LOGTYPE_IP_RSMBL RTE_LOGTYPE_USER1
 
diff --git a/examples/ipsec-secgw/ipsec-secgw.h b/examples/ipsec-secgw/ipsec-secgw.h
index b4ef4b6d04bc..939159dd32b0 100644
--- a/examples/ipsec-secgw/ipsec-secgw.h
+++ b/examples/ipsec-secgw/ipsec-secgw.h
@@ -11,8 +11,8 @@
 
 #define NB_SOCKETS 4
 
-#define MAX_PKT_BURST 32
-#define MAX_PKT_BURST_VEC 256
+#define MAX_PKT_BURST	  RTE_OPTIMAL_BURST_SIZE
+#define MAX_PKT_BURST_VEC RTE_OPTIMAL_BURST_SIZE
 
 #define MAX_PKTS                                  \
 	((MAX_PKT_BURST_VEC > MAX_PKT_BURST ?     \
diff --git a/examples/ipv4_multicast/main.c b/examples/ipv4_multicast/main.c
index 1eed645d02e0..742151749bbe 100644
--- a/examples/ipv4_multicast/main.c
+++ b/examples/ipv4_multicast/main.c
@@ -54,7 +54,7 @@
 /* allow max jumbo frame 9.5 KB */
 #define	JUMBO_FRAME_MAX_SIZE	0x2600
 
-#define MAX_PKT_BURST 32
+#define MAX_PKT_BURST	  RTE_OPTIMAL_BURST_SIZE
 #define BURST_TX_DRAIN_US 100 /* TX drain every ~100us */
 
 /* Configure how many packets ahead to prefetch, when reading packets */
diff --git a/examples/l2fwd-cat/l2fwd-cat.c b/examples/l2fwd-cat/l2fwd-cat.c
index 6e16705e9931..bac18496a7fb 100644
--- a/examples/l2fwd-cat/l2fwd-cat.c
+++ b/examples/l2fwd-cat/l2fwd-cat.c
@@ -17,7 +17,7 @@
 
 #define NUM_MBUFS 8191
 #define MBUF_CACHE_SIZE 250
-#define BURST_SIZE 32
+#define BURST_SIZE	RTE_OPTIMAL_BURST_SIZE
 
 /* l2fwd-cat.c: CAT enabled, basic DPDK skeleton forwarding example. */
 
diff --git a/examples/l2fwd-crypto/main.c b/examples/l2fwd-crypto/main.c
index a441312f5524..bfe0b662a5ed 100644
--- a/examples/l2fwd-crypto/main.c
+++ b/examples/l2fwd-crypto/main.c
@@ -61,7 +61,7 @@ enum cdev_type {
 #define MAX_KEY_SIZE 128
 #define MAX_IV_SIZE 16
 #define MAX_AAD_SIZE 65535
-#define MAX_PKT_BURST 32
+#define MAX_PKT_BURST		RTE_OPTIMAL_BURST_SIZE
 #define BURST_TX_DRAIN_US 100 /* TX drain every ~100us */
 #define SESSION_POOL_CACHE_SIZE 0
 
diff --git a/examples/l2fwd-event/l2fwd_common.h b/examples/l2fwd-event/l2fwd_common.h
index 8cf91b919cd4..2f271ac06972 100644
--- a/examples/l2fwd-event/l2fwd_common.h
+++ b/examples/l2fwd-event/l2fwd_common.h
@@ -42,7 +42,7 @@
 #include <rte_mbuf.h>
 #include <rte_spinlock.h>
 
-#define MAX_PKT_BURST 32
+#define MAX_PKT_BURST	       RTE_OPTIMAL_BURST_SIZE
 #define MAX_RX_QUEUE_PER_LCORE 16
 #define MAX_TX_QUEUE_PER_PORT 16
 
diff --git a/examples/l2fwd-jobstats/main.c b/examples/l2fwd-jobstats/main.c
index 308b8edd2023..7018d2b7e185 100644
--- a/examples/l2fwd-jobstats/main.c
+++ b/examples/l2fwd-jobstats/main.c
@@ -39,7 +39,7 @@
 
 #define NB_MBUF   8192
 
-#define MAX_PKT_BURST 32
+#define MAX_PKT_BURST	  RTE_OPTIMAL_BURST_SIZE
 #define BURST_TX_DRAIN_US 100 /* TX drain every ~100us */
 
 /*
diff --git a/examples/l2fwd-keepalive/main.c b/examples/l2fwd-keepalive/main.c
index bff2b99531aa..29ce52580678 100644
--- a/examples/l2fwd-keepalive/main.c
+++ b/examples/l2fwd-keepalive/main.c
@@ -43,7 +43,7 @@
 
 #define NB_MBUF_PER_PORT 3000
 
-#define MAX_PKT_BURST 32
+#define MAX_PKT_BURST	  RTE_OPTIMAL_BURST_SIZE
 #define BURST_TX_DRAIN_US 100 /* TX drain every ~100us */
 
 /*
diff --git a/examples/l2fwd-macsec/main.c b/examples/l2fwd-macsec/main.c
index 73e32fc197b6..dcfa97896a7e 100644
--- a/examples/l2fwd-macsec/main.c
+++ b/examples/l2fwd-macsec/main.c
@@ -49,7 +49,7 @@ static int promiscuous_on = 1;
 
 #define RTE_LOGTYPE_L2FWD RTE_LOGTYPE_USER1
 
-#define MAX_PKT_BURST 32
+#define MAX_PKT_BURST		RTE_OPTIMAL_BURST_SIZE
 #define BURST_TX_DRAIN_US 100 /* TX drain every ~100us */
 #define MEMPOOL_CACHE_SIZE 256
 #define SESSION_POOL_CACHE_SIZE 0
diff --git a/examples/l2fwd/main.c b/examples/l2fwd/main.c
index c6fafdd01935..c98350f58fba 100644
--- a/examples/l2fwd/main.c
+++ b/examples/l2fwd/main.c
@@ -48,7 +48,7 @@ static int promiscuous_on;
 
 #define RTE_LOGTYPE_L2FWD RTE_LOGTYPE_USER1
 
-#define MAX_PKT_BURST 32
+#define MAX_PKT_BURST	   RTE_OPTIMAL_BURST_SIZE
 #define BURST_TX_DRAIN_US 100 /* TX drain every ~100us */
 #define MEMPOOL_CACHE_SIZE 256
 
diff --git a/examples/l3fwd-power/main.c b/examples/l3fwd-power/main.c
index ec12d1cc0b73..46dbefaebbb2 100644
--- a/examples/l3fwd-power/main.c
+++ b/examples/l3fwd-power/main.c
@@ -55,7 +55,7 @@
 RTE_LOG_REGISTER(l3fwd_power_logtype, l3fwd.power, INFO);
 #define RTE_LOGTYPE_L3FWD_POWER l3fwd_power_logtype
 
-#define MAX_PKT_BURST 32
+#define MAX_PKT_BURST RTE_OPTIMAL_BURST_SIZE
 
 #define MIN_ZERO_POLL_COUNT 10
 
diff --git a/examples/l3fwd/l3fwd.h b/examples/l3fwd/l3fwd.h
index 471e3b488fe6..0fa166c6d528 100644
--- a/examples/l3fwd/l3fwd.h
+++ b/examples/l3fwd/l3fwd.h
@@ -23,14 +23,14 @@
 #define RX_DESC_DEFAULT 1024
 #define TX_DESC_DEFAULT 1024
 
-#define DEFAULT_PKT_BURST 32
+#define DEFAULT_PKT_BURST RTE_OPTIMAL_BURST_SIZE
 #define MAX_PKT_BURST 512
 #define BURST_TX_DRAIN_US 100 /* TX drain every ~100us */
 
 #define MEMPOOL_CACHE_SIZE RTE_MEMPOOL_CACHE_MAX_SIZE
 #define MAX_RX_QUEUE_PER_LCORE 16
 
-#define VECTOR_SIZE_DEFAULT   MAX_PKT_BURST
+#define VECTOR_SIZE_DEFAULT   RTE_OPTIMAL_BURST_SIZE
 #define VECTOR_TMO_NS_DEFAULT 1E6 /* 1ms */
 
 #define NB_SOCKETS        8
diff --git a/examples/l3fwd/main.c b/examples/l3fwd/main.c
index a5626ff02d13..00375a74fbe7 100644
--- a/examples/l3fwd/main.c
+++ b/examples/l3fwd/main.c
@@ -1074,17 +1074,26 @@ parse_args(int argc, char **argv)
 		return -1;
 	}
 
-	if (evt_rsrc->vector_enabled && !evt_rsrc->vector_size) {
-		evt_rsrc->vector_size = VECTOR_SIZE_DEFAULT;
-		fprintf(stderr, "vector size set to default (%" PRIu16 ")\n",
-			evt_rsrc->vector_size);
+	if (evt_rsrc->vector_enabled) {
+		if (!evt_rsrc->vector_size) {
+			evt_rsrc->vector_size = VECTOR_SIZE_DEFAULT;
+			fprintf(stderr, "vector size set to default (%" PRIu16 ")\n",
+				evt_rsrc->vector_size);
+		} else {
+			fprintf(stderr, "vector size set to (%" PRIu16 ")\n",
+				evt_rsrc->vector_size);
+		}
 	}
 
-	if (evt_rsrc->vector_enabled && !evt_rsrc->vector_tmo_ns) {
-		evt_rsrc->vector_tmo_ns = VECTOR_TMO_NS_DEFAULT;
-		fprintf(stderr,
-			"vector timeout set to default (%" PRIu64 " ns)\n",
-			evt_rsrc->vector_tmo_ns);
+	if (evt_rsrc->vector_enabled) {
+		if (!evt_rsrc->vector_tmo_ns) {
+			evt_rsrc->vector_tmo_ns = VECTOR_TMO_NS_DEFAULT;
+			fprintf(stderr, "vector timeout set to default (%" PRIu64 " ns)\n",
+				evt_rsrc->vector_tmo_ns);
+		} else {
+			fprintf(stderr, "vector timeout set to (%" PRIu64 " ns)\n",
+				evt_rsrc->vector_tmo_ns);
+		}
 	}
 #endif
 
@@ -1687,7 +1696,9 @@ main(int argc, char **argv)
 	if (ret < 0)
 		rte_exit(EXIT_FAILURE, "Invalid L3FWD parameters\n");
 
+#ifndef RTE_LIB_EVENTDEV
 	RTE_LOG(INFO, L3FWD, "Using Rx burst %u Tx burst %u\n", rx_burst_size, tx_burst_size);
+#endif
 
 	/* Setup function pointers for lookup method. */
 	setup_l3fwd_lookup_tables();
diff --git a/examples/link_status_interrupt/main.c b/examples/link_status_interrupt/main.c
index ac9c7f62170e..2cf8e3f67f91 100644
--- a/examples/link_status_interrupt/main.c
+++ b/examples/link_status_interrupt/main.c
@@ -39,7 +39,7 @@
 
 #define NB_MBUF   8192
 
-#define MAX_PKT_BURST 32
+#define MAX_PKT_BURST	  RTE_OPTIMAL_BURST_SIZE
 #define BURST_TX_DRAIN_US 100 /* TX drain every ~100us */
 
 /*
@@ -61,7 +61,7 @@ static unsigned int lsi_rx_queue_per_lcore = 1;
 /* destination port for L2 forwarding */
 static unsigned lsi_dst_ports[RTE_MAX_ETHPORTS] = {0};
 
-#define MAX_PKT_BURST 32
+#define MAX_PKT_BURST RTE_OPTIMAL_BURST_SIZE
 
 #define MAX_RX_QUEUE_PER_LCORE 16
 #define MAX_TX_QUEUE_PER_PORT 16
diff --git a/examples/multi_process/symmetric_mp/main.c b/examples/multi_process/symmetric_mp/main.c
index f7d8439cd4e6..1780e93fd742 100644
--- a/examples/multi_process/symmetric_mp/main.c
+++ b/examples/multi_process/symmetric_mp/main.c
@@ -46,7 +46,7 @@
 
 #define NB_MBUFS 64*1024 /* use 64k mbufs */
 #define MBUF_CACHE_SIZE 256
-#define PKT_BURST 32
+#define PKT_BURST	RTE_OPTIMAL_BURST_SIZE
 #define RX_RING_SIZE 1024
 #define TX_RING_SIZE 1024
 
diff --git a/examples/ntb/ntb_fwd.c b/examples/ntb/ntb_fwd.c
index 33f3c1ef17e4..5e7629753089 100644
--- a/examples/ntb/ntb_fwd.c
+++ b/examples/ntb/ntb_fwd.c
@@ -83,8 +83,8 @@ static uint16_t nb_desc = NTB_DEFAULT_NUM_DESCS;
 
 static uint16_t tx_free_thresh;
 
-#define NTB_MAX_PKT_BURST 32
-#define NTB_DFLT_PKT_BURST 32
+#define NTB_MAX_PKT_BURST  RTE_OPTIMAL_BURST_SIZE
+#define NTB_DFLT_PKT_BURST RTE_OPTIMAL_BURST_SIZE
 static uint16_t pkt_burst = NTB_DFLT_PKT_BURST;
 
 #define BURST_TX_RETRIES 64
diff --git a/examples/packet_ordering/main.c b/examples/packet_ordering/main.c
index 5ffdf72d71ab..a2092930523a 100644
--- a/examples/packet_ordering/main.c
+++ b/examples/packet_ordering/main.c
@@ -21,7 +21,7 @@
 #define RX_DESC_PER_QUEUE 1024
 #define TX_DESC_PER_QUEUE 1024
 
-#define MAX_PKTS_BURST 32
+#define MAX_PKTS_BURST	     RTE_OPTIMAL_BURST_SIZE
 #define REORDER_BUFFER_SIZE 8192
 #define MBUF_PER_POOL 65535
 #define MBUF_POOL_CACHE_SIZE 250
diff --git a/examples/qos_meter/main.c b/examples/qos_meter/main.c
index da1b0b228787..cdfdfde82aec 100644
--- a/examples/qos_meter/main.c
+++ b/examples/qos_meter/main.c
@@ -76,8 +76,8 @@ static struct rte_eth_conf port_conf = {
  * Packet RX/TX
  *
  ***/
-#define RTE_MBUF_F_RX_BURST_MAX                32
-#define RTE_MBUF_F_TX_BURST_MAX                32
+#define RTE_MBUF_F_RX_BURST_MAX		RTE_OPTIMAL_BURST_SIZE
+#define RTE_MBUF_F_TX_BURST_MAX		RTE_OPTIMAL_BURST_SIZE
 #define TIME_TX_DRAIN                   200000ULL
 
 static uint16_t port_rx;
diff --git a/examples/qos_sched/main.h b/examples/qos_sched/main.h
index ea66df0434fb..58abd5b9c4e2 100644
--- a/examples/qos_sched/main.h
+++ b/examples/qos_sched/main.h
@@ -24,10 +24,10 @@ extern "C" {
 #define APP_RING_SIZE (8*1024)
 #define NB_MBUF   (2*1024*1024)
 
-#define MAX_PKT_RX_BURST 64
+#define MAX_PKT_RX_BURST RTE_OPTIMAL_BURST_SIZE
 #define PKT_ENQUEUE 64
 #define PKT_DEQUEUE 63
-#define MAX_PKT_TX_BURST 64
+#define MAX_PKT_TX_BURST RTE_OPTIMAL_BURST_SIZE
 
 #define RX_PTHRESH 8 /**< Default values of RX prefetch threshold reg. */
 #define RX_HTHRESH 8 /**< Default values of RX host threshold reg. */
diff --git a/examples/rxtx_callbacks/main.c b/examples/rxtx_callbacks/main.c
index 4682921285de..8b01248f286d 100644
--- a/examples/rxtx_callbacks/main.c
+++ b/examples/rxtx_callbacks/main.c
@@ -19,7 +19,7 @@
 
 #define NUM_MBUFS 8191
 #define MBUF_CACHE_SIZE 250
-#define BURST_SIZE 32
+#define BURST_SIZE	RTE_OPTIMAL_BURST_SIZE
 
 static int hwts_dynfield_offset = -1;
 
diff --git a/examples/skeleton/basicfwd.c b/examples/skeleton/basicfwd.c
index 133293cf15bb..28ab971f56db 100644
--- a/examples/skeleton/basicfwd.c
+++ b/examples/skeleton/basicfwd.c
@@ -16,7 +16,7 @@
 
 #define NUM_MBUFS 8191
 #define MBUF_CACHE_SIZE 250
-#define BURST_SIZE 32
+#define BURST_SIZE	RTE_OPTIMAL_BURST_SIZE
 
 /* basicfwd.c: Basic DPDK skeleton forwarding example. */
 
diff --git a/examples/vhost/main.h b/examples/vhost/main.h
index c986cbc5a994..b85c251037d0 100644
--- a/examples/vhost/main.h
+++ b/examples/vhost/main.h
@@ -17,7 +17,7 @@
 
 enum {VIRTIO_RXQ, VIRTIO_TXQ, VIRTIO_QNUM};
 
-#define MAX_PKT_BURST 32		/* Max burst size for RX/TX */
+#define MAX_PKT_BURST RTE_OPTIMAL_BURST_SIZE /* Max burst size for RX/TX */
 
 struct device_statistics {
 	uint64_t	tx;
diff --git a/examples/vhost_crypto/main.c b/examples/vhost_crypto/main.c
index 8bdfc40c4b20..d60e17bee7d0 100644
--- a/examples/vhost_crypto/main.c
+++ b/examples/vhost_crypto/main.c
@@ -23,7 +23,7 @@
 #include <cmdline.h>
 
 #define NB_VIRTIO_QUEUES		(1)
-#define MAX_PKT_BURST			(64)
+#define MAX_PKT_BURST			(RTE_OPTIMAL_BURST_SIZE)
 #define MAX_IV_LEN			(32)
 #define NB_MEMPOOL_OBJS			(8192)
 #define NB_CRYPTO_DESCRIPTORS		(4096)
diff --git a/examples/vm_power_manager/main.c b/examples/vm_power_manager/main.c
index c14138202004..839348bb75d6 100644
--- a/examples/vm_power_manager/main.c
+++ b/examples/vm_power_manager/main.c
@@ -45,7 +45,7 @@
 
 #define NUM_MBUFS 8191
 #define MBUF_CACHE_SIZE 250
-#define BURST_SIZE 32
+#define BURST_SIZE	RTE_OPTIMAL_BURST_SIZE
 
 static uint32_t enabled_port_mask;
 static volatile bool force_quit;
diff --git a/examples/vmdq/main.c b/examples/vmdq/main.c
index 4a3ce6884c5c..19af8b052adf 100644
--- a/examples/vmdq/main.c
+++ b/examples/vmdq/main.c
@@ -42,7 +42,7 @@
 						TX_DESC_DEFAULT))
 #define MBUF_CACHE_SIZE 64
 
-#define MAX_PKT_BURST 32
+#define MAX_PKT_BURST RTE_OPTIMAL_BURST_SIZE
 
 /*
  * Configurable number of RX/TX ring descriptors
diff --git a/examples/vmdq_dcb/main.c b/examples/vmdq_dcb/main.c
index 4ccc2fe4b01c..94b077ccbc75 100644
--- a/examples/vmdq_dcb/main.c
+++ b/examples/vmdq_dcb/main.c
@@ -43,7 +43,7 @@
 						TX_DESC_DEFAULT))
 #define MBUF_CACHE_SIZE 64
 
-#define MAX_PKT_BURST 32
+#define MAX_PKT_BURST RTE_OPTIMAL_BURST_SIZE
 
 /*
  * Configurable number of RX/TX ring descriptors
-- 
2.50.1 (Apple Git-155)


  reply	other threads:[~2025-11-26  8:24 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-11-26  8:24 [RFC 1/2] config: add optimal burst size configuration pbhagavatula
2025-11-26  8:24 ` pbhagavatula [this message]
2025-11-26  9:57 ` Morten Brørup
2025-11-26 10:58   ` Pavan Nikhilesh Bhagavatula
2025-11-26 11:00   ` Pavan Nikhilesh Bhagavatula

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=20251126082414.91933-2-pbhagavatula@marvell.com \
    --to=pbhagavatula@marvell.com \
    --cc=3chas3@gmail.com \
    --cc=aman.deep.singh@intel.com \
    --cc=anatoly.burakov@intel.com \
    --cc=anoobj@marvell.com \
    --cc=bruce.richardson@intel.com \
    --cc=chenbox@nvidia.com \
    --cc=cristian.dumitrescu@intel.com \
    --cc=david.hunt@intel.com \
    --cc=dev@dpdk.org \
    --cc=fanzhang.oss@gmail.com \
    --cc=fengchengwen@huawei.com \
    --cc=gakhil@marvell.com \
    --cc=humin29@huawei.com \
    --cc=jerinj@marvell.com \
    --cc=jingjing.wu@intel.com \
    --cc=john.mcnamara@intel.com \
    --cc=kevin.laatz@intel.com \
    --cc=konstantin.ananyev@huawei.com \
    --cc=maxime.coquelin@redhat.com \
    --cc=mb@smartsharesystems.com \
    --cc=nicolas.chautru@intel.com \
    --cc=radu.nicolau@intel.com \
    --cc=sivaprasad.tummala@amd.com \
    --cc=skori@marvell.com \
    --cc=tomasz.kantecki@intel.com \
    --cc=vfialko@marvell.com \
    --cc=wisamm@nvidia.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).