DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] [PATCH 0/3] Increase default RX/TX ring sizes
@ 2018-01-11 17:24 Kevin Laatz
  2018-01-11 17:24 ` [dpdk-dev] [PATCH 1/3] examples: increase rx and tx default " Kevin Laatz
                   ` (4 more replies)
  0 siblings, 5 replies; 17+ messages in thread
From: Kevin Laatz @ 2018-01-11 17:24 UTC (permalink / raw)
  To: dev; +Cc: Kevin Laatz

Increasing the RX/TX default ring size to 1024/1024 to accommodate for
faster NICs. With the increase of number of PPS, a larger RX buffer is
required in order to avoid packet loss. While a ring size of 128 may be
large enough for 1G and possibly 10G NICs, this is not going to scale to
small packet sizes at 25G and 40G line rates. As we are increasing the RX
buffer size to 1024, we also need to increase the TX buffer size to ensure
that the TX side does not become the bottleneck.

Kevin Laatz (3):
  examples: increase rx and tx default ring sizes
  app/testpmd: increase rx and tx default ring sizes
  test: increase rx and tx default ring sizes

 app/test-pmd/testpmd.c                                   | 4 ++--
 examples/bond/main.c                                     | 4 ++--
 examples/distributor/main.c                              | 4 ++--
 examples/ethtool/ethtool-app/main.c                      | 4 ++--
 examples/exception_path/main.c                           | 4 ++--
 examples/flow_classify/flow_classify.c                   | 4 ++--
 examples/ip_fragmentation/main.c                         | 4 ++--
 examples/ip_reassembly/main.c                            | 4 ++--
 examples/ipsec-secgw/ipsec-secgw.c                       | 4 ++--
 examples/ipv4_multicast/main.c                           | 4 ++--
 examples/kni/main.c                                      | 4 ++--
 examples/l2fwd-crypto/main.c                             | 4 ++--
 examples/l2fwd-jobstats/main.c                           | 4 ++--
 examples/l2fwd-keepalive/main.c                          | 4 ++--
 examples/l2fwd/main.c                                    | 4 ++--
 examples/l3fwd-acl/main.c                                | 4 ++--
 examples/l3fwd-power/main.c                              | 4 ++--
 examples/l3fwd-vf/main.c                                 | 4 ++--
 examples/l3fwd/main.c                                    | 4 ++--
 examples/link_status_interrupt/main.c                    | 4 ++--
 examples/multi_process/client_server_mp/mp_server/init.c | 4 ++--
 examples/multi_process/l2fwd_fork/main.c                 | 4 ++--
 examples/multi_process/symmetric_mp/main.c               | 4 ++--
 examples/packet_ordering/main.c                          | 4 ++--
 examples/performance-thread/l3fwd-thread/main.c          | 4 ++--
 examples/ptpclient/ptpclient.c                           | 4 ++--
 examples/qos_meter/main.c                                | 4 ++--
 examples/qos_sched/main.h                                | 4 ++--
 examples/quota_watermark/include/conf.h                  | 4 ++--
 examples/rxtx_callbacks/main.c                           | 4 ++--
 examples/skeleton/basicfwd.c                             | 4 ++--
 examples/vm_power_manager/main.c                         | 4 ++--
 examples/vmdq/main.c                                     | 4 ++--
 examples/vmdq_dcb/main.c                                 | 4 ++--
 test/test/test_kni.c                                     | 4 ++--
 test/test/test_link_bonding.c                            | 4 ++--
 test/test/test_link_bonding_mode4.c                      | 4 ++--
 test/test/test_pmd_perf.c                                | 4 ++--
 38 files changed, 76 insertions(+), 76 deletions(-)

-- 
2.9.4

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [dpdk-dev] [PATCH 1/3] examples: increase rx and tx default ring sizes
  2018-01-11 17:24 [dpdk-dev] [PATCH 0/3] Increase default RX/TX ring sizes Kevin Laatz
@ 2018-01-11 17:24 ` Kevin Laatz
  2018-01-11 17:24 ` [dpdk-dev] [PATCH 2/3] app/testpmd: increase rx and tx default ring size Kevin Laatz
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 17+ messages in thread
From: Kevin Laatz @ 2018-01-11 17:24 UTC (permalink / raw)
  To: dev
  Cc: Kevin Laatz, ferruh.yigit, declan.doherty, bruce.richardson,
	remy.horton, bernard.iremonger, konstantin.ananyev, radu.nicolau,
	pablo.de.lara.guarch, tomasz.kantecki, david.hunt,
	anatoly.burakov, reshma.pattan, john.mcnamara,
	cristian.dumitrescu, jijiang.liu

Increase the default RX/TX ring sizes to 1024/1024 to
accomodate for NICs with higher throughput (25G, 40G etc)

Signed-off-by: Kevin Laatz <kevin.laatz@intel.com>

---
Cc: ferruh.yigit@intel.com
Cc: declan.doherty@intel.com
Cc: bruce.richardson@intel.com
Cc: remy.horton@intel.com
Cc: bernard.iremonger@intel.com
Cc: konstantin.ananyev@intel.com
Cc: radu.nicolau@intel.com
Cc: pablo.de.lara.guarch@intel.com
Cc: tomasz.kantecki@intel.com
Cc: david.hunt@intel.com
Cc: anatoly.burakov@intel.com
Cc: reshma.pattan@intel.com
Cc: john.mcnamara@intel.com
Cc: cristian.dumitrescu@intel.com
Cc: jijiang.liu@intel.com
---
 examples/bond/main.c                                     | 4 ++--
 examples/distributor/main.c                              | 4 ++--
 examples/ethtool/ethtool-app/main.c                      | 4 ++--
 examples/exception_path/main.c                           | 4 ++--
 examples/flow_classify/flow_classify.c                   | 4 ++--
 examples/ip_fragmentation/main.c                         | 4 ++--
 examples/ip_reassembly/main.c                            | 4 ++--
 examples/ipsec-secgw/ipsec-secgw.c                       | 4 ++--
 examples/ipv4_multicast/main.c                           | 4 ++--
 examples/kni/main.c                                      | 4 ++--
 examples/l2fwd-crypto/main.c                             | 4 ++--
 examples/l2fwd-jobstats/main.c                           | 4 ++--
 examples/l2fwd-keepalive/main.c                          | 4 ++--
 examples/l2fwd/main.c                                    | 4 ++--
 examples/l3fwd-acl/main.c                                | 4 ++--
 examples/l3fwd-power/main.c                              | 4 ++--
 examples/l3fwd-vf/main.c                                 | 4 ++--
 examples/l3fwd/main.c                                    | 4 ++--
 examples/link_status_interrupt/main.c                    | 4 ++--
 examples/multi_process/client_server_mp/mp_server/init.c | 4 ++--
 examples/multi_process/l2fwd_fork/main.c                 | 4 ++--
 examples/multi_process/symmetric_mp/main.c               | 4 ++--
 examples/packet_ordering/main.c                          | 4 ++--
 examples/performance-thread/l3fwd-thread/main.c          | 4 ++--
 examples/ptpclient/ptpclient.c                           | 4 ++--
 examples/qos_meter/main.c                                | 4 ++--
 examples/qos_sched/main.h                                | 4 ++--
 examples/quota_watermark/include/conf.h                  | 4 ++--
 examples/rxtx_callbacks/main.c                           | 4 ++--
 examples/skeleton/basicfwd.c                             | 4 ++--
 examples/vm_power_manager/main.c                         | 4 ++--
 examples/vmdq/main.c                                     | 4 ++--
 examples/vmdq_dcb/main.c                                 | 4 ++--
 33 files changed, 66 insertions(+), 66 deletions(-)

diff --git a/examples/bond/main.c b/examples/bond/main.c
index 0df8c8e..2261504 100644
--- a/examples/bond/main.c
+++ b/examples/bond/main.c
@@ -91,8 +91,8 @@
 /*
  * Configurable number of RX/TX ring descriptors
  */
-#define RTE_RX_DESC_DEFAULT 128
-#define RTE_TX_DESC_DEFAULT 512
+#define RTE_RX_DESC_DEFAULT 1024
+#define RTE_TX_DESC_DEFAULT 1024
 
 #define BOND_IP_1	7
 #define BOND_IP_2	0
diff --git a/examples/distributor/main.c b/examples/distributor/main.c
index c7dec76..9280425 100644
--- a/examples/distributor/main.c
+++ b/examples/distributor/main.c
@@ -17,8 +17,8 @@
 #include <rte_distributor.h>
 #include <rte_pause.h>
 
-#define RX_RING_SIZE 512
-#define TX_RING_SIZE 512
+#define RX_RING_SIZE 1024
+#define TX_RING_SIZE 1024
 #define NUM_MBUFS ((64*1024)-1)
 #define MBUF_CACHE_SIZE 128
 #define BURST_SIZE 64
diff --git a/examples/ethtool/ethtool-app/main.c b/examples/ethtool/ethtool-app/main.c
index fb4639e..df89525 100644
--- a/examples/ethtool/ethtool-app/main.c
+++ b/examples/ethtool/ethtool-app/main.c
@@ -20,8 +20,8 @@
 
 #define MAX_PORTS RTE_MAX_ETHPORTS
 #define MAX_BURST_LENGTH 32
-#define PORT_RX_QUEUE_SIZE 128
-#define PORT_TX_QUEUE_SIZE 256
+#define PORT_RX_QUEUE_SIZE 1024
+#define PORT_TX_QUEUE_SIZE 1024
 #define PKTPOOL_EXTRA_SIZE 512
 #define PKTPOOL_CACHE 32
 
diff --git a/examples/exception_path/main.c b/examples/exception_path/main.c
index 06a0d4c..f9b9cc7 100644
--- a/examples/exception_path/main.c
+++ b/examples/exception_path/main.c
@@ -65,10 +65,10 @@
 #define MEMPOOL_CACHE_SZ        PKT_BURST_SZ
 
 /* Number of RX ring descriptors */
-#define NB_RXD                  128
+#define NB_RXD                  1024
 
 /* Number of TX ring descriptors */
-#define NB_TXD                  512
+#define NB_TXD                  1024
 
 /*
  * RX and TX Prefetch, Host, and Write-back threshold values should be
diff --git a/examples/flow_classify/flow_classify.c b/examples/flow_classify/flow_classify.c
index 45b3c1b..1ec4370 100644
--- a/examples/flow_classify/flow_classify.c
+++ b/examples/flow_classify/flow_classify.c
@@ -15,8 +15,8 @@
 #include <rte_flow_classify.h>
 #include <rte_table_acl.h>
 
-#define RX_RING_SIZE 128
-#define TX_RING_SIZE 512
+#define RX_RING_SIZE 1024
+#define TX_RING_SIZE 1024
 
 #define NUM_MBUFS 8191
 #define MBUF_CACHE_SIZE 250
diff --git a/examples/ip_fragmentation/main.c b/examples/ip_fragmentation/main.c
index cf740ab..e9ac5c1 100644
--- a/examples/ip_fragmentation/main.c
+++ b/examples/ip_fragmentation/main.c
@@ -77,8 +77,8 @@
 /*
  * Configurable number of RX/TX ring descriptors
  */
-#define RTE_TEST_RX_DESC_DEFAULT 128
-#define RTE_TEST_TX_DESC_DEFAULT 512
+#define RTE_TEST_RX_DESC_DEFAULT 1024
+#define RTE_TEST_TX_DESC_DEFAULT 1024
 static uint16_t nb_rxd = RTE_TEST_RX_DESC_DEFAULT;
 static uint16_t nb_txd = RTE_TEST_TX_DESC_DEFAULT;
 
diff --git a/examples/ip_reassembly/main.c b/examples/ip_reassembly/main.c
index 5b82bb0..27c6f98 100644
--- a/examples/ip_reassembly/main.c
+++ b/examples/ip_reassembly/main.c
@@ -88,8 +88,8 @@ static uint32_t max_flow_ttl = DEF_FLOW_TTL;
 /*
  * Configurable number of RX/TX ring descriptors
  */
-#define RTE_TEST_RX_DESC_DEFAULT 128
-#define RTE_TEST_TX_DESC_DEFAULT 512
+#define RTE_TEST_RX_DESC_DEFAULT 1024
+#define RTE_TEST_TX_DESC_DEFAULT 1024
 
 static uint16_t nb_rxd = RTE_TEST_RX_DESC_DEFAULT;
 static uint16_t nb_txd = RTE_TEST_TX_DESC_DEFAULT;
diff --git a/examples/ipsec-secgw/ipsec-secgw.c b/examples/ipsec-secgw/ipsec-secgw.c
index 83d7e32..8492618 100644
--- a/examples/ipsec-secgw/ipsec-secgw.c
+++ b/examples/ipsec-secgw/ipsec-secgw.c
@@ -77,8 +77,8 @@
 /*
  * Configurable number of RX/TX ring descriptors
  */
-#define IPSEC_SECGW_RX_DESC_DEFAULT 128
-#define IPSEC_SECGW_TX_DESC_DEFAULT 512
+#define IPSEC_SECGW_RX_DESC_DEFAULT 1024
+#define IPSEC_SECGW_TX_DESC_DEFAULT 1024
 static uint16_t nb_rxd = IPSEC_SECGW_RX_DESC_DEFAULT;
 static uint16_t nb_txd = IPSEC_SECGW_TX_DESC_DEFAULT;
 
diff --git a/examples/ipv4_multicast/main.c b/examples/ipv4_multicast/main.c
index 131c832..c3c412e 100644
--- a/examples/ipv4_multicast/main.c
+++ b/examples/ipv4_multicast/main.c
@@ -74,8 +74,8 @@
 /*
  * Configurable number of RX/TX ring descriptors
  */
-#define RTE_TEST_RX_DESC_DEFAULT 128
-#define RTE_TEST_TX_DESC_DEFAULT 512
+#define RTE_TEST_RX_DESC_DEFAULT 1024
+#define RTE_TEST_TX_DESC_DEFAULT 1024
 static uint16_t nb_rxd = RTE_TEST_RX_DESC_DEFAULT;
 static uint16_t nb_txd = RTE_TEST_TX_DESC_DEFAULT;
 
diff --git a/examples/kni/main.c b/examples/kni/main.c
index e8b4840..ffefb3c 100644
--- a/examples/kni/main.c
+++ b/examples/kni/main.c
@@ -61,10 +61,10 @@
 #define MEMPOOL_CACHE_SZ        PKT_BURST_SZ
 
 /* Number of RX ring descriptors */
-#define NB_RXD                  128
+#define NB_RXD                  1024
 
 /* Number of TX ring descriptors */
-#define NB_TXD                  512
+#define NB_TXD                  1024
 
 /* Total octets in ethernet header */
 #define KNI_ENET_HEADER_SIZE    14
diff --git a/examples/l2fwd-crypto/main.c b/examples/l2fwd-crypto/main.c
index bd92740..4f9aee2 100644
--- a/examples/l2fwd-crypto/main.c
+++ b/examples/l2fwd-crypto/main.c
@@ -69,8 +69,8 @@ enum cdev_type {
 /*
  * Configurable number of RX/TX ring descriptors
  */
-#define RTE_TEST_RX_DESC_DEFAULT 128
-#define RTE_TEST_TX_DESC_DEFAULT 512
+#define RTE_TEST_RX_DESC_DEFAULT 1024
+#define RTE_TEST_TX_DESC_DEFAULT 1024
 
 static uint16_t nb_rxd = RTE_TEST_RX_DESC_DEFAULT;
 static uint16_t nb_txd = RTE_TEST_TX_DESC_DEFAULT;
diff --git a/examples/l2fwd-jobstats/main.c b/examples/l2fwd-jobstats/main.c
index d404f55..c92f6db 100644
--- a/examples/l2fwd-jobstats/main.c
+++ b/examples/l2fwd-jobstats/main.c
@@ -46,8 +46,8 @@
 /*
  * Configurable number of RX/TX ring descriptors
  */
-#define RTE_TEST_RX_DESC_DEFAULT 128
-#define RTE_TEST_TX_DESC_DEFAULT 512
+#define RTE_TEST_RX_DESC_DEFAULT 1024
+#define RTE_TEST_TX_DESC_DEFAULT 1024
 static uint16_t nb_rxd = RTE_TEST_RX_DESC_DEFAULT;
 static uint16_t nb_txd = RTE_TEST_TX_DESC_DEFAULT;
 
diff --git a/examples/l2fwd-keepalive/main.c b/examples/l2fwd-keepalive/main.c
index 1afab54..27d16e6 100644
--- a/examples/l2fwd-keepalive/main.c
+++ b/examples/l2fwd-keepalive/main.c
@@ -52,8 +52,8 @@
 /*
  * Configurable number of RX/TX ring descriptors
  */
-#define RTE_TEST_RX_DESC_DEFAULT 128
-#define RTE_TEST_TX_DESC_DEFAULT 512
+#define RTE_TEST_RX_DESC_DEFAULT 1024
+#define RTE_TEST_TX_DESC_DEFAULT 1024
 static uint16_t nb_rxd = RTE_TEST_RX_DESC_DEFAULT;
 static uint16_t nb_txd = RTE_TEST_TX_DESC_DEFAULT;
 
diff --git a/examples/l2fwd/main.c b/examples/l2fwd/main.c
index c5e88ff..e050202 100644
--- a/examples/l2fwd/main.c
+++ b/examples/l2fwd/main.c
@@ -55,8 +55,8 @@ static int mac_updating = 1;
 /*
  * Configurable number of RX/TX ring descriptors
  */
-#define RTE_TEST_RX_DESC_DEFAULT 128
-#define RTE_TEST_TX_DESC_DEFAULT 512
+#define RTE_TEST_RX_DESC_DEFAULT 1024
+#define RTE_TEST_TX_DESC_DEFAULT 1024
 static uint16_t nb_rxd = RTE_TEST_RX_DESC_DEFAULT;
 static uint16_t nb_txd = RTE_TEST_TX_DESC_DEFAULT;
 
diff --git a/examples/l3fwd-acl/main.c b/examples/l3fwd-acl/main.c
index 4da03f4..a16ccda 100644
--- a/examples/l3fwd-acl/main.c
+++ b/examples/l3fwd-acl/main.c
@@ -76,8 +76,8 @@
 /*
  * Configurable number of RX/TX ring descriptors
  */
-#define RTE_TEST_RX_DESC_DEFAULT 128
-#define RTE_TEST_TX_DESC_DEFAULT 512
+#define RTE_TEST_RX_DESC_DEFAULT 1024
+#define RTE_TEST_TX_DESC_DEFAULT 1024
 static uint16_t nb_rxd = RTE_TEST_RX_DESC_DEFAULT;
 static uint16_t nb_txd = RTE_TEST_TX_DESC_DEFAULT;
 
diff --git a/examples/l3fwd-power/main.c b/examples/l3fwd-power/main.c
index ad8fd7b..b7e5b28 100644
--- a/examples/l3fwd-power/main.c
+++ b/examples/l3fwd-power/main.c
@@ -114,8 +114,8 @@
 /*
  * Configurable number of RX/TX ring descriptors
  */
-#define RTE_TEST_RX_DESC_DEFAULT 512
-#define RTE_TEST_TX_DESC_DEFAULT 512
+#define RTE_TEST_RX_DESC_DEFAULT 1024
+#define RTE_TEST_TX_DESC_DEFAULT 1024
 static uint16_t nb_rxd = RTE_TEST_RX_DESC_DEFAULT;
 static uint16_t nb_txd = RTE_TEST_TX_DESC_DEFAULT;
 
diff --git a/examples/l3fwd-vf/main.c b/examples/l3fwd-vf/main.c
index 571778e..e7c40e9 100644
--- a/examples/l3fwd-vf/main.c
+++ b/examples/l3fwd-vf/main.c
@@ -106,8 +106,8 @@
 /*
  * Configurable number of RX/TX ring descriptors
  */
-#define RTE_TEST_RX_DESC_DEFAULT 128
-#define RTE_TEST_TX_DESC_DEFAULT 512
+#define RTE_TEST_RX_DESC_DEFAULT 1024
+#define RTE_TEST_TX_DESC_DEFAULT 1024
 static uint16_t nb_rxd = RTE_TEST_RX_DESC_DEFAULT;
 static uint16_t nb_txd = RTE_TEST_TX_DESC_DEFAULT;
 
diff --git a/examples/l3fwd/main.c b/examples/l3fwd/main.c
index cec0b0b..34749a1 100644
--- a/examples/l3fwd/main.c
+++ b/examples/l3fwd/main.c
@@ -50,8 +50,8 @@
 /*
  * Configurable number of RX/TX ring descriptors
  */
-#define RTE_TEST_RX_DESC_DEFAULT 128
-#define RTE_TEST_TX_DESC_DEFAULT 512
+#define RTE_TEST_RX_DESC_DEFAULT 1024
+#define RTE_TEST_TX_DESC_DEFAULT 1024
 
 #define MAX_TX_QUEUE_PER_PORT RTE_MAX_ETHPORTS
 #define MAX_RX_QUEUE_PER_PORT 128
diff --git a/examples/link_status_interrupt/main.c b/examples/link_status_interrupt/main.c
index 87b90b3..a3a6b20 100644
--- a/examples/link_status_interrupt/main.c
+++ b/examples/link_status_interrupt/main.c
@@ -47,8 +47,8 @@
 /*
  * Configurable number of RX/TX ring descriptors
  */
-#define RTE_TEST_RX_DESC_DEFAULT 128
-#define RTE_TEST_TX_DESC_DEFAULT 512
+#define RTE_TEST_RX_DESC_DEFAULT 1024
+#define RTE_TEST_TX_DESC_DEFAULT 1024
 static uint16_t nb_rxd = RTE_TEST_RX_DESC_DEFAULT;
 static uint16_t nb_txd = RTE_TEST_TX_DESC_DEFAULT;
 
diff --git a/examples/multi_process/client_server_mp/mp_server/init.c b/examples/multi_process/client_server_mp/mp_server/init.c
index baad5c6..1c465cc 100644
--- a/examples/multi_process/client_server_mp/mp_server/init.c
+++ b/examples/multi_process/client_server_mp/mp_server/init.c
@@ -41,8 +41,8 @@
 #define MBUFS_PER_PORT 1536
 #define MBUF_CACHE_SIZE 512
 
-#define RTE_MP_RX_DESC_DEFAULT 512
-#define RTE_MP_TX_DESC_DEFAULT 512
+#define RTE_MP_RX_DESC_DEFAULT 1024
+#define RTE_MP_TX_DESC_DEFAULT 1024
 #define CLIENT_QUEUE_RINGSIZE 128
 
 #define NO_FLAGS 0
diff --git a/examples/multi_process/l2fwd_fork/main.c b/examples/multi_process/l2fwd_fork/main.c
index 44eea87..0e9459c 100644
--- a/examples/multi_process/l2fwd_fork/main.c
+++ b/examples/multi_process/l2fwd_fork/main.c
@@ -68,8 +68,8 @@ enum l2fwd_cmd{
 /*
  * Configurable number of RX/TX ring descriptors
  */
-#define RTE_TEST_RX_DESC_DEFAULT 128
-#define RTE_TEST_TX_DESC_DEFAULT 512
+#define RTE_TEST_RX_DESC_DEFAULT 1024
+#define RTE_TEST_TX_DESC_DEFAULT 1024
 static uint16_t nb_rxd = RTE_TEST_RX_DESC_DEFAULT;
 static uint16_t nb_txd = RTE_TEST_TX_DESC_DEFAULT;
 
diff --git a/examples/multi_process/symmetric_mp/main.c b/examples/multi_process/symmetric_mp/main.c
index d99c563..99ffb4a 100644
--- a/examples/multi_process/symmetric_mp/main.c
+++ b/examples/multi_process/symmetric_mp/main.c
@@ -48,8 +48,8 @@
 #define NB_MBUFS 64*1024 /* use 64k mbufs */
 #define MBUF_CACHE_SIZE 256
 #define PKT_BURST 32
-#define RX_RING_SIZE 128
-#define TX_RING_SIZE 512
+#define RX_RING_SIZE 1024
+#define TX_RING_SIZE 1024
 
 #define PARAM_PROC_ID "proc-id"
 #define PARAM_NUM_PROCS "num-procs"
diff --git a/examples/packet_ordering/main.c b/examples/packet_ordering/main.c
index 88f0493..d2ae66e 100644
--- a/examples/packet_ordering/main.c
+++ b/examples/packet_ordering/main.c
@@ -16,8 +16,8 @@
 #include <rte_ring.h>
 #include <rte_reorder.h>
 
-#define RX_DESC_PER_QUEUE 128
-#define TX_DESC_PER_QUEUE 512
+#define RX_DESC_PER_QUEUE 1024
+#define TX_DESC_PER_QUEUE 1024
 
 #define MAX_PKTS_BURST 32
 #define REORDER_BUFFER_SIZE 8192
diff --git a/examples/performance-thread/l3fwd-thread/main.c b/examples/performance-thread/l3fwd-thread/main.c
index b6871ef..f7c5f9b 100644
--- a/examples/performance-thread/l3fwd-thread/main.c
+++ b/examples/performance-thread/l3fwd-thread/main.c
@@ -181,8 +181,8 @@ cb_parse_ptype(__rte_unused uint16_t port, __rte_unused uint16_t queue,
 /*
  * Configurable number of RX/TX ring descriptors
  */
-#define RTE_TEST_RX_DESC_DEFAULT 128
-#define RTE_TEST_TX_DESC_DEFAULT 128
+#define RTE_TEST_RX_DESC_DEFAULT 1024
+#define RTE_TEST_TX_DESC_DEFAULT 1024
 static uint16_t nb_rxd = RTE_TEST_RX_DESC_DEFAULT;
 static uint16_t nb_txd = RTE_TEST_TX_DESC_DEFAULT;
 
diff --git a/examples/ptpclient/ptpclient.c b/examples/ptpclient/ptpclient.c
index fad21a0..230443c 100644
--- a/examples/ptpclient/ptpclient.c
+++ b/examples/ptpclient/ptpclient.c
@@ -20,8 +20,8 @@
 #include <sys/time.h>
 #include <getopt.h>
 
-#define RX_RING_SIZE 128
-#define TX_RING_SIZE 512
+#define RX_RING_SIZE 1024
+#define TX_RING_SIZE 1024
 
 #define NUM_MBUFS            8191
 #define MBUF_CACHE_SIZE       250
diff --git a/examples/qos_meter/main.c b/examples/qos_meter/main.c
index 7a0df50..18dcfcc 100644
--- a/examples/qos_meter/main.c
+++ b/examples/qos_meter/main.c
@@ -73,8 +73,8 @@ static struct rte_eth_conf port_conf = {
 	},
 };
 
-#define NIC_RX_QUEUE_DESC               128
-#define NIC_TX_QUEUE_DESC               512
+#define NIC_RX_QUEUE_DESC               1024
+#define NIC_TX_QUEUE_DESC               1024
 
 #define NIC_RX_QUEUE                    0
 #define NIC_TX_QUEUE                    0
diff --git a/examples/qos_sched/main.h b/examples/qos_sched/main.h
index 1c63d95..8a2741c 100644
--- a/examples/qos_sched/main.h
+++ b/examples/qos_sched/main.h
@@ -18,8 +18,8 @@ extern "C" {
  */
 #define APP_INTERACTIVE_DEFAULT 0
 
-#define APP_RX_DESC_DEFAULT 128
-#define APP_TX_DESC_DEFAULT 256
+#define APP_RX_DESC_DEFAULT 1024
+#define APP_TX_DESC_DEFAULT 1024
 
 #define APP_RING_SIZE (8*1024)
 #define NB_MBUF   (2*1024*1024)
diff --git a/examples/quota_watermark/include/conf.h b/examples/quota_watermark/include/conf.h
index 6c7ff47..4f29aa6 100644
--- a/examples/quota_watermark/include/conf.h
+++ b/examples/quota_watermark/include/conf.h
@@ -8,8 +8,8 @@
 #define RING_SIZE 1024
 #define MAX_PKT_QUOTA 64
 
-#define RX_DESC_PER_QUEUE   128
-#define TX_DESC_PER_QUEUE   512
+#define RX_DESC_PER_QUEUE   1024
+#define TX_DESC_PER_QUEUE   1024
 
 #define MBUF_DATA_SIZE     RTE_MBUF_DEFAULT_BUF_SIZE
 #define MBUF_PER_POOL 8192
diff --git a/examples/rxtx_callbacks/main.c b/examples/rxtx_callbacks/main.c
index 35b9b0c..50013f6 100644
--- a/examples/rxtx_callbacks/main.c
+++ b/examples/rxtx_callbacks/main.c
@@ -10,8 +10,8 @@
 #include <rte_lcore.h>
 #include <rte_mbuf.h>
 
-#define RX_RING_SIZE 128
-#define TX_RING_SIZE 512
+#define RX_RING_SIZE 1024
+#define TX_RING_SIZE 1024
 
 #define NUM_MBUFS 8191
 #define MBUF_CACHE_SIZE 250
diff --git a/examples/skeleton/basicfwd.c b/examples/skeleton/basicfwd.c
index c37671c..ba9ff10 100644
--- a/examples/skeleton/basicfwd.c
+++ b/examples/skeleton/basicfwd.c
@@ -10,8 +10,8 @@
 #include <rte_lcore.h>
 #include <rte_mbuf.h>
 
-#define RX_RING_SIZE 128
-#define TX_RING_SIZE 512
+#define RX_RING_SIZE 1024
+#define TX_RING_SIZE 1024
 
 #define NUM_MBUFS 8191
 #define MBUF_CACHE_SIZE 250
diff --git a/examples/vm_power_manager/main.c b/examples/vm_power_manager/main.c
index 2ba4d0f..94839bf 100644
--- a/examples/vm_power_manager/main.c
+++ b/examples/vm_power_manager/main.c
@@ -33,8 +33,8 @@
 #include <rte_pmd_i40e.h>
 #include <rte_pmd_bnxt.h>
 
-#define RX_RING_SIZE 512
-#define TX_RING_SIZE 512
+#define RX_RING_SIZE 1024
+#define TX_RING_SIZE 1024
 
 #define NUM_MBUFS 8191
 #define MBUF_CACHE_SIZE 250
diff --git a/examples/vmdq/main.c b/examples/vmdq/main.c
index aa2eb35..2b86f4c 100644
--- a/examples/vmdq/main.c
+++ b/examples/vmdq/main.c
@@ -48,8 +48,8 @@
 /*
  * Configurable number of RX/TX ring descriptors
  */
-#define RTE_TEST_RX_DESC_DEFAULT 128
-#define RTE_TEST_TX_DESC_DEFAULT 512
+#define RTE_TEST_RX_DESC_DEFAULT 1024
+#define RTE_TEST_TX_DESC_DEFAULT 1024
 
 #define INVALID_PORT_ID 0xFF
 
diff --git a/examples/vmdq_dcb/main.c b/examples/vmdq_dcb/main.c
index 1dfdde4..4e81de1 100644
--- a/examples/vmdq_dcb/main.c
+++ b/examples/vmdq_dcb/main.c
@@ -49,8 +49,8 @@
 /*
  * Configurable number of RX/TX ring descriptors
  */
-#define RTE_TEST_RX_DESC_DEFAULT 128
-#define RTE_TEST_TX_DESC_DEFAULT 512
+#define RTE_TEST_RX_DESC_DEFAULT 1024
+#define RTE_TEST_TX_DESC_DEFAULT 1024
 
 #define INVALID_PORT_ID 0xFF
 
-- 
2.9.4

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [dpdk-dev] [PATCH 2/3] app/testpmd: increase rx and tx default ring size
  2018-01-11 17:24 [dpdk-dev] [PATCH 0/3] Increase default RX/TX ring sizes Kevin Laatz
  2018-01-11 17:24 ` [dpdk-dev] [PATCH 1/3] examples: increase rx and tx default " Kevin Laatz
@ 2018-01-11 17:24 ` Kevin Laatz
  2018-01-11 17:24 ` [dpdk-dev] [PATCH 2/3] app/testpmd: increase rx and tx default ring sizes Kevin Laatz
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 17+ messages in thread
From: Kevin Laatz @ 2018-01-11 17:24 UTC (permalink / raw)
  To: dev; +Cc: Kevin Laatz, wenzhou.lu, jingjing.wu

Signed-off-by: Kevin Laatz <kevin.laatz@intel.com>

---
Cc: wenzhou.lu@intel.com
Cc: jingjing.wu@intel.com
---
 app/test-pmd/testpmd.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/app/test-pmd/testpmd.c b/app/test-pmd/testpmd.c
index 47e145c..597c703 100644
--- a/app/test-pmd/testpmd.c
+++ b/app/test-pmd/testpmd.c
@@ -191,8 +191,8 @@ queueid_t nb_txq = 1; /**< Number of TX queues per port. */
 /*
  * Configurable number of RX/TX ring descriptors.
  */
-#define RTE_TEST_RX_DESC_DEFAULT 128
-#define RTE_TEST_TX_DESC_DEFAULT 512
+#define RTE_TEST_RX_DESC_DEFAULT 1024
+#define RTE_TEST_TX_DESC_DEFAULT 1024
 uint16_t nb_rxd = RTE_TEST_RX_DESC_DEFAULT; /**< Number of RX descriptors. */
 uint16_t nb_txd = RTE_TEST_TX_DESC_DEFAULT; /**< Number of TX descriptors. */
 
-- 
2.9.4

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [dpdk-dev] [PATCH 2/3] app/testpmd: increase rx and tx default ring sizes
  2018-01-11 17:24 [dpdk-dev] [PATCH 0/3] Increase default RX/TX ring sizes Kevin Laatz
  2018-01-11 17:24 ` [dpdk-dev] [PATCH 1/3] examples: increase rx and tx default " Kevin Laatz
  2018-01-11 17:24 ` [dpdk-dev] [PATCH 2/3] app/testpmd: increase rx and tx default ring size Kevin Laatz
@ 2018-01-11 17:24 ` Kevin Laatz
  2018-01-11 17:24 ` [dpdk-dev] [PATCH 3/3] test: " Kevin Laatz
  2018-01-12 10:30 ` [dpdk-dev] [PATCH 0/3] Increase default RX/TX " Kevin Laatz
  4 siblings, 0 replies; 17+ messages in thread
From: Kevin Laatz @ 2018-01-11 17:24 UTC (permalink / raw)
  To: dev; +Cc: Kevin Laatz, wenzhou.lu, jingjing.wu

Increase the default RX/TX ring sizes to 1024/1024 to
accomodate for NICs with higher throughput (25G, 40G etc)

Signed-off-by: Kevin Laatz <kevin.laatz@intel.com>

---
Cc: wenzhou.lu@intel.com
Cc: jingjing.wu@intel.com
---
 app/test-pmd/testpmd.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/app/test-pmd/testpmd.c b/app/test-pmd/testpmd.c
index 47e145c..597c703 100644
--- a/app/test-pmd/testpmd.c
+++ b/app/test-pmd/testpmd.c
@@ -191,8 +191,8 @@ queueid_t nb_txq = 1; /**< Number of TX queues per port. */
 /*
  * Configurable number of RX/TX ring descriptors.
  */
-#define RTE_TEST_RX_DESC_DEFAULT 128
-#define RTE_TEST_TX_DESC_DEFAULT 512
+#define RTE_TEST_RX_DESC_DEFAULT 1024
+#define RTE_TEST_TX_DESC_DEFAULT 1024
 uint16_t nb_rxd = RTE_TEST_RX_DESC_DEFAULT; /**< Number of RX descriptors. */
 uint16_t nb_txd = RTE_TEST_TX_DESC_DEFAULT; /**< Number of TX descriptors. */
 
-- 
2.9.4

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [dpdk-dev] [PATCH 3/3] test: increase rx and tx default ring sizes
  2018-01-11 17:24 [dpdk-dev] [PATCH 0/3] Increase default RX/TX ring sizes Kevin Laatz
                   ` (2 preceding siblings ...)
  2018-01-11 17:24 ` [dpdk-dev] [PATCH 2/3] app/testpmd: increase rx and tx default ring sizes Kevin Laatz
@ 2018-01-11 17:24 ` Kevin Laatz
  2018-01-12 10:30 ` [dpdk-dev] [PATCH 0/3] Increase default RX/TX " Kevin Laatz
  4 siblings, 0 replies; 17+ messages in thread
From: Kevin Laatz @ 2018-01-11 17:24 UTC (permalink / raw)
  To: dev; +Cc: Kevin Laatz, ferruh.yigit, declan.doherty

Increase the default RX/TX ring sizes to 1024/1024 to
accomodate for NICs with higher throughput (25G, 40G etc)

Signed-off-by: Kevin Laatz <kevin.laatz@intel.com>

---
Cc: ferruh.yigit@intel.com
Cc: declan.doherty@intel.com
---
 test/test/test_kni.c                | 4 ++--
 test/test/test_link_bonding.c       | 4 ++--
 test/test/test_link_bonding_mode4.c | 4 ++--
 test/test/test_pmd_perf.c           | 4 ++--
 4 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/test/test/test_kni.c b/test/test/test_kni.c
index 539d231..f6fb1a2 100644
--- a/test/test/test_kni.c
+++ b/test/test/test_kni.c
@@ -23,8 +23,8 @@
 #define PKT_BURST_SZ     32
 #define MEMPOOL_CACHE_SZ PKT_BURST_SZ
 #define SOCKET           0
-#define NB_RXD           128
-#define NB_TXD           512
+#define NB_RXD           1024
+#define NB_TXD           1024
 #define KNI_TIMEOUT_MS   5000 /* ms */
 
 #define IFCONFIG      "/sbin/ifconfig "
diff --git a/test/test/test_link_bonding.c b/test/test/test_link_bonding.c
index 64e24a8..588acc8 100644
--- a/test/test/test_link_bonding.c
+++ b/test/test/test_link_bonding.c
@@ -30,13 +30,13 @@
 
 #define TEST_MAX_NUMBER_OF_PORTS (6)
 
-#define RX_RING_SIZE 128
+#define RX_RING_SIZE 1024
 #define RX_FREE_THRESH 32
 #define RX_PTHRESH 8
 #define RX_HTHRESH 8
 #define RX_WTHRESH 0
 
-#define TX_RING_SIZE 512
+#define TX_RING_SIZE 1024
 #define TX_FREE_THRESH 32
 #define TX_PTHRESH 32
 #define TX_HTHRESH 0
diff --git a/test/test/test_link_bonding_mode4.c b/test/test/test_link_bonding_mode4.c
index fd2e920..426877a 100644
--- a/test/test/test_link_bonding_mode4.c
+++ b/test/test/test_link_bonding_mode4.c
@@ -33,8 +33,8 @@
 
 #define SLAVE_COUNT (4)
 
-#define RX_RING_SIZE 128
-#define TX_RING_SIZE 512
+#define RX_RING_SIZE 1024
+#define TX_RING_SIZE 1024
 
 #define MBUF_CACHE_SIZE         (250)
 #define BURST_SIZE              (32)
diff --git a/test/test/test_pmd_perf.c b/test/test/test_pmd_perf.c
index 7399294..ee148bc 100644
--- a/test/test/test_pmd_perf.c
+++ b/test/test/test_pmd_perf.c
@@ -19,8 +19,8 @@
 #define NB_SOCKETS                      (2)
 #define MEMPOOL_CACHE_SIZE 250
 #define MAX_PKT_BURST                   (32)
-#define RTE_TEST_RX_DESC_DEFAULT        (128)
-#define RTE_TEST_TX_DESC_DEFAULT        (512)
+#define RTE_TEST_RX_DESC_DEFAULT        (1024)
+#define RTE_TEST_TX_DESC_DEFAULT        (1024)
 #define RTE_PORT_ALL            (~(uint16_t)0x0)
 
 /* how long test would take at full line rate */
-- 
2.9.4

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [dpdk-dev] [PATCH 0/3] Increase default RX/TX ring sizes
  2018-01-11 17:24 [dpdk-dev] [PATCH 0/3] Increase default RX/TX ring sizes Kevin Laatz
                   ` (3 preceding siblings ...)
  2018-01-11 17:24 ` [dpdk-dev] [PATCH 3/3] test: " Kevin Laatz
@ 2018-01-12 10:30 ` Kevin Laatz
  2018-01-12 10:30   ` [dpdk-dev] [PATCH 1/3] examples: increase rx and tx default " Kevin Laatz
                     ` (3 more replies)
  4 siblings, 4 replies; 17+ messages in thread
From: Kevin Laatz @ 2018-01-12 10:30 UTC (permalink / raw)
  To: dev; +Cc: Kevin Laatz

Increasing the RX/TX default ring size to 1024/1024 to accommodate for
faster NICs. With the increase of number of PPS, a larger RX buffer is
required in order to avoid packet loss. While a ring size of 128 may be
large enough for 1G and possibly 10G NICs, this is not going to scale to
small packet sizes at 25G and 40G line rates. As we are increasing the RX
buffer size to 1024, we also need to increase the TX buffer size to ensure
that the TX side does not become the bottleneck.

v2
  - fixed typos in commit messages
  - fixed typo in Cc email address

Kevin Laatz (3):
  examples: increase rx and tx default ring sizes
  app/testpmd: increase rx and tx default ring sizes
  test: increase rx and tx default ring sizes

 app/test-pmd/testpmd.c                                   | 4 ++--
 examples/bond/main.c                                     | 4 ++--
 examples/distributor/main.c                              | 4 ++--
 examples/ethtool/ethtool-app/main.c                      | 4 ++--
 examples/exception_path/main.c                           | 4 ++--
 examples/flow_classify/flow_classify.c                   | 4 ++--
 examples/ip_fragmentation/main.c                         | 4 ++--
 examples/ip_reassembly/main.c                            | 4 ++--
 examples/ipsec-secgw/ipsec-secgw.c                       | 4 ++--
 examples/ipv4_multicast/main.c                           | 4 ++--
 examples/kni/main.c                                      | 4 ++--
 examples/l2fwd-crypto/main.c                             | 4 ++--
 examples/l2fwd-jobstats/main.c                           | 4 ++--
 examples/l2fwd-keepalive/main.c                          | 4 ++--
 examples/l2fwd/main.c                                    | 4 ++--
 examples/l3fwd-acl/main.c                                | 4 ++--
 examples/l3fwd-power/main.c                              | 4 ++--
 examples/l3fwd-vf/main.c                                 | 4 ++--
 examples/l3fwd/main.c                                    | 4 ++--
 examples/link_status_interrupt/main.c                    | 4 ++--
 examples/multi_process/client_server_mp/mp_server/init.c | 4 ++--
 examples/multi_process/l2fwd_fork/main.c                 | 4 ++--
 examples/multi_process/symmetric_mp/main.c               | 4 ++--
 examples/packet_ordering/main.c                          | 4 ++--
 examples/performance-thread/l3fwd-thread/main.c          | 4 ++--
 examples/ptpclient/ptpclient.c                           | 4 ++--
 examples/qos_meter/main.c                                | 4 ++--
 examples/qos_sched/main.h                                | 4 ++--
 examples/quota_watermark/include/conf.h                  | 4 ++--
 examples/rxtx_callbacks/main.c                           | 4 ++--
 examples/skeleton/basicfwd.c                             | 4 ++--
 examples/vm_power_manager/main.c                         | 4 ++--
 examples/vmdq/main.c                                     | 4 ++--
 examples/vmdq_dcb/main.c                                 | 4 ++--
 test/test/test_kni.c                                     | 4 ++--
 test/test/test_link_bonding.c                            | 4 ++--
 test/test/test_link_bonding_mode4.c                      | 4 ++--
 test/test/test_pmd_perf.c                                | 4 ++--
 38 files changed, 76 insertions(+), 76 deletions(-)

-- 
2.9.4

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [dpdk-dev] [PATCH 1/3] examples: increase rx and tx default ring sizes
  2018-01-12 10:30 ` [dpdk-dev] [PATCH 0/3] Increase default RX/TX " Kevin Laatz
@ 2018-01-12 10:30   ` Kevin Laatz
  2018-01-12 10:30   ` [dpdk-dev] [PATCH 2/3] app/testpmd: " Kevin Laatz
                     ` (2 subsequent siblings)
  3 siblings, 0 replies; 17+ messages in thread
From: Kevin Laatz @ 2018-01-12 10:30 UTC (permalink / raw)
  To: dev
  Cc: Kevin Laatz, ferruh.yigit, declan.doherty, bruce.richardson,
	remy.horton, bernard.iremonger, konstantin.ananyev, radu.nicolau,
	pablo.de.lara.guarch, tomasz.kantecki, david.hunt,
	anatoly.burakov, reshma.pattan, john.mcnamara,
	cristian.dumitrescu

Increase the default RX/TX ring sizes to 1024/1024 to
accommodate for NICs with higher throughput (25G, 40G etc)

Signed-off-by: Kevin Laatz <kevin.laatz@intel.com>

---
v2:
    fixed typo in commit message

Cc: ferruh.yigit@intel.com
Cc: declan.doherty@intel.com
Cc: bruce.richardson@intel.com
Cc: remy.horton@intel.com
Cc: bernard.iremonger@intel.com
Cc: konstantin.ananyev@intel.com
Cc: radu.nicolau@intel.com
Cc: pablo.de.lara.guarch@intel.com
Cc: tomasz.kantecki@intel.com
Cc: david.hunt@intel.com
Cc: anatoly.burakov@intel.com
Cc: reshma.pattan@intel.com
Cc: john.mcnamara@intel.com
Cc: cristian.dumitrescu@intel.com
---
 examples/bond/main.c                                     | 4 ++--
 examples/distributor/main.c                              | 4 ++--
 examples/ethtool/ethtool-app/main.c                      | 4 ++--
 examples/exception_path/main.c                           | 4 ++--
 examples/flow_classify/flow_classify.c                   | 4 ++--
 examples/ip_fragmentation/main.c                         | 4 ++--
 examples/ip_reassembly/main.c                            | 4 ++--
 examples/ipsec-secgw/ipsec-secgw.c                       | 4 ++--
 examples/ipv4_multicast/main.c                           | 4 ++--
 examples/kni/main.c                                      | 4 ++--
 examples/l2fwd-crypto/main.c                             | 4 ++--
 examples/l2fwd-jobstats/main.c                           | 4 ++--
 examples/l2fwd-keepalive/main.c                          | 4 ++--
 examples/l2fwd/main.c                                    | 4 ++--
 examples/l3fwd-acl/main.c                                | 4 ++--
 examples/l3fwd-power/main.c                              | 4 ++--
 examples/l3fwd-vf/main.c                                 | 4 ++--
 examples/l3fwd/main.c                                    | 4 ++--
 examples/link_status_interrupt/main.c                    | 4 ++--
 examples/multi_process/client_server_mp/mp_server/init.c | 4 ++--
 examples/multi_process/l2fwd_fork/main.c                 | 4 ++--
 examples/multi_process/symmetric_mp/main.c               | 4 ++--
 examples/packet_ordering/main.c                          | 4 ++--
 examples/performance-thread/l3fwd-thread/main.c          | 4 ++--
 examples/ptpclient/ptpclient.c                           | 4 ++--
 examples/qos_meter/main.c                                | 4 ++--
 examples/qos_sched/main.h                                | 4 ++--
 examples/quota_watermark/include/conf.h                  | 4 ++--
 examples/rxtx_callbacks/main.c                           | 4 ++--
 examples/skeleton/basicfwd.c                             | 4 ++--
 examples/vm_power_manager/main.c                         | 4 ++--
 examples/vmdq/main.c                                     | 4 ++--
 examples/vmdq_dcb/main.c                                 | 4 ++--
 33 files changed, 66 insertions(+), 66 deletions(-)

diff --git a/examples/bond/main.c b/examples/bond/main.c
index 0df8c8e..2261504 100644
--- a/examples/bond/main.c
+++ b/examples/bond/main.c
@@ -91,8 +91,8 @@
 /*
  * Configurable number of RX/TX ring descriptors
  */
-#define RTE_RX_DESC_DEFAULT 128
-#define RTE_TX_DESC_DEFAULT 512
+#define RTE_RX_DESC_DEFAULT 1024
+#define RTE_TX_DESC_DEFAULT 1024
 
 #define BOND_IP_1	7
 #define BOND_IP_2	0
diff --git a/examples/distributor/main.c b/examples/distributor/main.c
index c7dec76..9280425 100644
--- a/examples/distributor/main.c
+++ b/examples/distributor/main.c
@@ -17,8 +17,8 @@
 #include <rte_distributor.h>
 #include <rte_pause.h>
 
-#define RX_RING_SIZE 512
-#define TX_RING_SIZE 512
+#define RX_RING_SIZE 1024
+#define TX_RING_SIZE 1024
 #define NUM_MBUFS ((64*1024)-1)
 #define MBUF_CACHE_SIZE 128
 #define BURST_SIZE 64
diff --git a/examples/ethtool/ethtool-app/main.c b/examples/ethtool/ethtool-app/main.c
index fb4639e..df89525 100644
--- a/examples/ethtool/ethtool-app/main.c
+++ b/examples/ethtool/ethtool-app/main.c
@@ -20,8 +20,8 @@
 
 #define MAX_PORTS RTE_MAX_ETHPORTS
 #define MAX_BURST_LENGTH 32
-#define PORT_RX_QUEUE_SIZE 128
-#define PORT_TX_QUEUE_SIZE 256
+#define PORT_RX_QUEUE_SIZE 1024
+#define PORT_TX_QUEUE_SIZE 1024
 #define PKTPOOL_EXTRA_SIZE 512
 #define PKTPOOL_CACHE 32
 
diff --git a/examples/exception_path/main.c b/examples/exception_path/main.c
index 06a0d4c..f9b9cc7 100644
--- a/examples/exception_path/main.c
+++ b/examples/exception_path/main.c
@@ -65,10 +65,10 @@
 #define MEMPOOL_CACHE_SZ        PKT_BURST_SZ
 
 /* Number of RX ring descriptors */
-#define NB_RXD                  128
+#define NB_RXD                  1024
 
 /* Number of TX ring descriptors */
-#define NB_TXD                  512
+#define NB_TXD                  1024
 
 /*
  * RX and TX Prefetch, Host, and Write-back threshold values should be
diff --git a/examples/flow_classify/flow_classify.c b/examples/flow_classify/flow_classify.c
index 45b3c1b..1ec4370 100644
--- a/examples/flow_classify/flow_classify.c
+++ b/examples/flow_classify/flow_classify.c
@@ -15,8 +15,8 @@
 #include <rte_flow_classify.h>
 #include <rte_table_acl.h>
 
-#define RX_RING_SIZE 128
-#define TX_RING_SIZE 512
+#define RX_RING_SIZE 1024
+#define TX_RING_SIZE 1024
 
 #define NUM_MBUFS 8191
 #define MBUF_CACHE_SIZE 250
diff --git a/examples/ip_fragmentation/main.c b/examples/ip_fragmentation/main.c
index cf740ab..e9ac5c1 100644
--- a/examples/ip_fragmentation/main.c
+++ b/examples/ip_fragmentation/main.c
@@ -77,8 +77,8 @@
 /*
  * Configurable number of RX/TX ring descriptors
  */
-#define RTE_TEST_RX_DESC_DEFAULT 128
-#define RTE_TEST_TX_DESC_DEFAULT 512
+#define RTE_TEST_RX_DESC_DEFAULT 1024
+#define RTE_TEST_TX_DESC_DEFAULT 1024
 static uint16_t nb_rxd = RTE_TEST_RX_DESC_DEFAULT;
 static uint16_t nb_txd = RTE_TEST_TX_DESC_DEFAULT;
 
diff --git a/examples/ip_reassembly/main.c b/examples/ip_reassembly/main.c
index 5b82bb0..27c6f98 100644
--- a/examples/ip_reassembly/main.c
+++ b/examples/ip_reassembly/main.c
@@ -88,8 +88,8 @@ static uint32_t max_flow_ttl = DEF_FLOW_TTL;
 /*
  * Configurable number of RX/TX ring descriptors
  */
-#define RTE_TEST_RX_DESC_DEFAULT 128
-#define RTE_TEST_TX_DESC_DEFAULT 512
+#define RTE_TEST_RX_DESC_DEFAULT 1024
+#define RTE_TEST_TX_DESC_DEFAULT 1024
 
 static uint16_t nb_rxd = RTE_TEST_RX_DESC_DEFAULT;
 static uint16_t nb_txd = RTE_TEST_TX_DESC_DEFAULT;
diff --git a/examples/ipsec-secgw/ipsec-secgw.c b/examples/ipsec-secgw/ipsec-secgw.c
index 83d7e32..8492618 100644
--- a/examples/ipsec-secgw/ipsec-secgw.c
+++ b/examples/ipsec-secgw/ipsec-secgw.c
@@ -77,8 +77,8 @@
 /*
  * Configurable number of RX/TX ring descriptors
  */
-#define IPSEC_SECGW_RX_DESC_DEFAULT 128
-#define IPSEC_SECGW_TX_DESC_DEFAULT 512
+#define IPSEC_SECGW_RX_DESC_DEFAULT 1024
+#define IPSEC_SECGW_TX_DESC_DEFAULT 1024
 static uint16_t nb_rxd = IPSEC_SECGW_RX_DESC_DEFAULT;
 static uint16_t nb_txd = IPSEC_SECGW_TX_DESC_DEFAULT;
 
diff --git a/examples/ipv4_multicast/main.c b/examples/ipv4_multicast/main.c
index 131c832..c3c412e 100644
--- a/examples/ipv4_multicast/main.c
+++ b/examples/ipv4_multicast/main.c
@@ -74,8 +74,8 @@
 /*
  * Configurable number of RX/TX ring descriptors
  */
-#define RTE_TEST_RX_DESC_DEFAULT 128
-#define RTE_TEST_TX_DESC_DEFAULT 512
+#define RTE_TEST_RX_DESC_DEFAULT 1024
+#define RTE_TEST_TX_DESC_DEFAULT 1024
 static uint16_t nb_rxd = RTE_TEST_RX_DESC_DEFAULT;
 static uint16_t nb_txd = RTE_TEST_TX_DESC_DEFAULT;
 
diff --git a/examples/kni/main.c b/examples/kni/main.c
index e8b4840..ffefb3c 100644
--- a/examples/kni/main.c
+++ b/examples/kni/main.c
@@ -61,10 +61,10 @@
 #define MEMPOOL_CACHE_SZ        PKT_BURST_SZ
 
 /* Number of RX ring descriptors */
-#define NB_RXD                  128
+#define NB_RXD                  1024
 
 /* Number of TX ring descriptors */
-#define NB_TXD                  512
+#define NB_TXD                  1024
 
 /* Total octets in ethernet header */
 #define KNI_ENET_HEADER_SIZE    14
diff --git a/examples/l2fwd-crypto/main.c b/examples/l2fwd-crypto/main.c
index bd92740..4f9aee2 100644
--- a/examples/l2fwd-crypto/main.c
+++ b/examples/l2fwd-crypto/main.c
@@ -69,8 +69,8 @@ enum cdev_type {
 /*
  * Configurable number of RX/TX ring descriptors
  */
-#define RTE_TEST_RX_DESC_DEFAULT 128
-#define RTE_TEST_TX_DESC_DEFAULT 512
+#define RTE_TEST_RX_DESC_DEFAULT 1024
+#define RTE_TEST_TX_DESC_DEFAULT 1024
 
 static uint16_t nb_rxd = RTE_TEST_RX_DESC_DEFAULT;
 static uint16_t nb_txd = RTE_TEST_TX_DESC_DEFAULT;
diff --git a/examples/l2fwd-jobstats/main.c b/examples/l2fwd-jobstats/main.c
index d404f55..c92f6db 100644
--- a/examples/l2fwd-jobstats/main.c
+++ b/examples/l2fwd-jobstats/main.c
@@ -46,8 +46,8 @@
 /*
  * Configurable number of RX/TX ring descriptors
  */
-#define RTE_TEST_RX_DESC_DEFAULT 128
-#define RTE_TEST_TX_DESC_DEFAULT 512
+#define RTE_TEST_RX_DESC_DEFAULT 1024
+#define RTE_TEST_TX_DESC_DEFAULT 1024
 static uint16_t nb_rxd = RTE_TEST_RX_DESC_DEFAULT;
 static uint16_t nb_txd = RTE_TEST_TX_DESC_DEFAULT;
 
diff --git a/examples/l2fwd-keepalive/main.c b/examples/l2fwd-keepalive/main.c
index 1afab54..27d16e6 100644
--- a/examples/l2fwd-keepalive/main.c
+++ b/examples/l2fwd-keepalive/main.c
@@ -52,8 +52,8 @@
 /*
  * Configurable number of RX/TX ring descriptors
  */
-#define RTE_TEST_RX_DESC_DEFAULT 128
-#define RTE_TEST_TX_DESC_DEFAULT 512
+#define RTE_TEST_RX_DESC_DEFAULT 1024
+#define RTE_TEST_TX_DESC_DEFAULT 1024
 static uint16_t nb_rxd = RTE_TEST_RX_DESC_DEFAULT;
 static uint16_t nb_txd = RTE_TEST_TX_DESC_DEFAULT;
 
diff --git a/examples/l2fwd/main.c b/examples/l2fwd/main.c
index c5e88ff..e050202 100644
--- a/examples/l2fwd/main.c
+++ b/examples/l2fwd/main.c
@@ -55,8 +55,8 @@ static int mac_updating = 1;
 /*
  * Configurable number of RX/TX ring descriptors
  */
-#define RTE_TEST_RX_DESC_DEFAULT 128
-#define RTE_TEST_TX_DESC_DEFAULT 512
+#define RTE_TEST_RX_DESC_DEFAULT 1024
+#define RTE_TEST_TX_DESC_DEFAULT 1024
 static uint16_t nb_rxd = RTE_TEST_RX_DESC_DEFAULT;
 static uint16_t nb_txd = RTE_TEST_TX_DESC_DEFAULT;
 
diff --git a/examples/l3fwd-acl/main.c b/examples/l3fwd-acl/main.c
index 4da03f4..a16ccda 100644
--- a/examples/l3fwd-acl/main.c
+++ b/examples/l3fwd-acl/main.c
@@ -76,8 +76,8 @@
 /*
  * Configurable number of RX/TX ring descriptors
  */
-#define RTE_TEST_RX_DESC_DEFAULT 128
-#define RTE_TEST_TX_DESC_DEFAULT 512
+#define RTE_TEST_RX_DESC_DEFAULT 1024
+#define RTE_TEST_TX_DESC_DEFAULT 1024
 static uint16_t nb_rxd = RTE_TEST_RX_DESC_DEFAULT;
 static uint16_t nb_txd = RTE_TEST_TX_DESC_DEFAULT;
 
diff --git a/examples/l3fwd-power/main.c b/examples/l3fwd-power/main.c
index ad8fd7b..b7e5b28 100644
--- a/examples/l3fwd-power/main.c
+++ b/examples/l3fwd-power/main.c
@@ -114,8 +114,8 @@
 /*
  * Configurable number of RX/TX ring descriptors
  */
-#define RTE_TEST_RX_DESC_DEFAULT 512
-#define RTE_TEST_TX_DESC_DEFAULT 512
+#define RTE_TEST_RX_DESC_DEFAULT 1024
+#define RTE_TEST_TX_DESC_DEFAULT 1024
 static uint16_t nb_rxd = RTE_TEST_RX_DESC_DEFAULT;
 static uint16_t nb_txd = RTE_TEST_TX_DESC_DEFAULT;
 
diff --git a/examples/l3fwd-vf/main.c b/examples/l3fwd-vf/main.c
index 571778e..e7c40e9 100644
--- a/examples/l3fwd-vf/main.c
+++ b/examples/l3fwd-vf/main.c
@@ -106,8 +106,8 @@
 /*
  * Configurable number of RX/TX ring descriptors
  */
-#define RTE_TEST_RX_DESC_DEFAULT 128
-#define RTE_TEST_TX_DESC_DEFAULT 512
+#define RTE_TEST_RX_DESC_DEFAULT 1024
+#define RTE_TEST_TX_DESC_DEFAULT 1024
 static uint16_t nb_rxd = RTE_TEST_RX_DESC_DEFAULT;
 static uint16_t nb_txd = RTE_TEST_TX_DESC_DEFAULT;
 
diff --git a/examples/l3fwd/main.c b/examples/l3fwd/main.c
index cec0b0b..34749a1 100644
--- a/examples/l3fwd/main.c
+++ b/examples/l3fwd/main.c
@@ -50,8 +50,8 @@
 /*
  * Configurable number of RX/TX ring descriptors
  */
-#define RTE_TEST_RX_DESC_DEFAULT 128
-#define RTE_TEST_TX_DESC_DEFAULT 512
+#define RTE_TEST_RX_DESC_DEFAULT 1024
+#define RTE_TEST_TX_DESC_DEFAULT 1024
 
 #define MAX_TX_QUEUE_PER_PORT RTE_MAX_ETHPORTS
 #define MAX_RX_QUEUE_PER_PORT 128
diff --git a/examples/link_status_interrupt/main.c b/examples/link_status_interrupt/main.c
index 87b90b3..a3a6b20 100644
--- a/examples/link_status_interrupt/main.c
+++ b/examples/link_status_interrupt/main.c
@@ -47,8 +47,8 @@
 /*
  * Configurable number of RX/TX ring descriptors
  */
-#define RTE_TEST_RX_DESC_DEFAULT 128
-#define RTE_TEST_TX_DESC_DEFAULT 512
+#define RTE_TEST_RX_DESC_DEFAULT 1024
+#define RTE_TEST_TX_DESC_DEFAULT 1024
 static uint16_t nb_rxd = RTE_TEST_RX_DESC_DEFAULT;
 static uint16_t nb_txd = RTE_TEST_TX_DESC_DEFAULT;
 
diff --git a/examples/multi_process/client_server_mp/mp_server/init.c b/examples/multi_process/client_server_mp/mp_server/init.c
index baad5c6..1c465cc 100644
--- a/examples/multi_process/client_server_mp/mp_server/init.c
+++ b/examples/multi_process/client_server_mp/mp_server/init.c
@@ -41,8 +41,8 @@
 #define MBUFS_PER_PORT 1536
 #define MBUF_CACHE_SIZE 512
 
-#define RTE_MP_RX_DESC_DEFAULT 512
-#define RTE_MP_TX_DESC_DEFAULT 512
+#define RTE_MP_RX_DESC_DEFAULT 1024
+#define RTE_MP_TX_DESC_DEFAULT 1024
 #define CLIENT_QUEUE_RINGSIZE 128
 
 #define NO_FLAGS 0
diff --git a/examples/multi_process/l2fwd_fork/main.c b/examples/multi_process/l2fwd_fork/main.c
index 44eea87..0e9459c 100644
--- a/examples/multi_process/l2fwd_fork/main.c
+++ b/examples/multi_process/l2fwd_fork/main.c
@@ -68,8 +68,8 @@ enum l2fwd_cmd{
 /*
  * Configurable number of RX/TX ring descriptors
  */
-#define RTE_TEST_RX_DESC_DEFAULT 128
-#define RTE_TEST_TX_DESC_DEFAULT 512
+#define RTE_TEST_RX_DESC_DEFAULT 1024
+#define RTE_TEST_TX_DESC_DEFAULT 1024
 static uint16_t nb_rxd = RTE_TEST_RX_DESC_DEFAULT;
 static uint16_t nb_txd = RTE_TEST_TX_DESC_DEFAULT;
 
diff --git a/examples/multi_process/symmetric_mp/main.c b/examples/multi_process/symmetric_mp/main.c
index d99c563..99ffb4a 100644
--- a/examples/multi_process/symmetric_mp/main.c
+++ b/examples/multi_process/symmetric_mp/main.c
@@ -48,8 +48,8 @@
 #define NB_MBUFS 64*1024 /* use 64k mbufs */
 #define MBUF_CACHE_SIZE 256
 #define PKT_BURST 32
-#define RX_RING_SIZE 128
-#define TX_RING_SIZE 512
+#define RX_RING_SIZE 1024
+#define TX_RING_SIZE 1024
 
 #define PARAM_PROC_ID "proc-id"
 #define PARAM_NUM_PROCS "num-procs"
diff --git a/examples/packet_ordering/main.c b/examples/packet_ordering/main.c
index 88f0493..d2ae66e 100644
--- a/examples/packet_ordering/main.c
+++ b/examples/packet_ordering/main.c
@@ -16,8 +16,8 @@
 #include <rte_ring.h>
 #include <rte_reorder.h>
 
-#define RX_DESC_PER_QUEUE 128
-#define TX_DESC_PER_QUEUE 512
+#define RX_DESC_PER_QUEUE 1024
+#define TX_DESC_PER_QUEUE 1024
 
 #define MAX_PKTS_BURST 32
 #define REORDER_BUFFER_SIZE 8192
diff --git a/examples/performance-thread/l3fwd-thread/main.c b/examples/performance-thread/l3fwd-thread/main.c
index b6871ef..f7c5f9b 100644
--- a/examples/performance-thread/l3fwd-thread/main.c
+++ b/examples/performance-thread/l3fwd-thread/main.c
@@ -181,8 +181,8 @@ cb_parse_ptype(__rte_unused uint16_t port, __rte_unused uint16_t queue,
 /*
  * Configurable number of RX/TX ring descriptors
  */
-#define RTE_TEST_RX_DESC_DEFAULT 128
-#define RTE_TEST_TX_DESC_DEFAULT 128
+#define RTE_TEST_RX_DESC_DEFAULT 1024
+#define RTE_TEST_TX_DESC_DEFAULT 1024
 static uint16_t nb_rxd = RTE_TEST_RX_DESC_DEFAULT;
 static uint16_t nb_txd = RTE_TEST_TX_DESC_DEFAULT;
 
diff --git a/examples/ptpclient/ptpclient.c b/examples/ptpclient/ptpclient.c
index fad21a0..230443c 100644
--- a/examples/ptpclient/ptpclient.c
+++ b/examples/ptpclient/ptpclient.c
@@ -20,8 +20,8 @@
 #include <sys/time.h>
 #include <getopt.h>
 
-#define RX_RING_SIZE 128
-#define TX_RING_SIZE 512
+#define RX_RING_SIZE 1024
+#define TX_RING_SIZE 1024
 
 #define NUM_MBUFS            8191
 #define MBUF_CACHE_SIZE       250
diff --git a/examples/qos_meter/main.c b/examples/qos_meter/main.c
index 7a0df50..18dcfcc 100644
--- a/examples/qos_meter/main.c
+++ b/examples/qos_meter/main.c
@@ -73,8 +73,8 @@ static struct rte_eth_conf port_conf = {
 	},
 };
 
-#define NIC_RX_QUEUE_DESC               128
-#define NIC_TX_QUEUE_DESC               512
+#define NIC_RX_QUEUE_DESC               1024
+#define NIC_TX_QUEUE_DESC               1024
 
 #define NIC_RX_QUEUE                    0
 #define NIC_TX_QUEUE                    0
diff --git a/examples/qos_sched/main.h b/examples/qos_sched/main.h
index 1c63d95..8a2741c 100644
--- a/examples/qos_sched/main.h
+++ b/examples/qos_sched/main.h
@@ -18,8 +18,8 @@ extern "C" {
  */
 #define APP_INTERACTIVE_DEFAULT 0
 
-#define APP_RX_DESC_DEFAULT 128
-#define APP_TX_DESC_DEFAULT 256
+#define APP_RX_DESC_DEFAULT 1024
+#define APP_TX_DESC_DEFAULT 1024
 
 #define APP_RING_SIZE (8*1024)
 #define NB_MBUF   (2*1024*1024)
diff --git a/examples/quota_watermark/include/conf.h b/examples/quota_watermark/include/conf.h
index 6c7ff47..4f29aa6 100644
--- a/examples/quota_watermark/include/conf.h
+++ b/examples/quota_watermark/include/conf.h
@@ -8,8 +8,8 @@
 #define RING_SIZE 1024
 #define MAX_PKT_QUOTA 64
 
-#define RX_DESC_PER_QUEUE   128
-#define TX_DESC_PER_QUEUE   512
+#define RX_DESC_PER_QUEUE   1024
+#define TX_DESC_PER_QUEUE   1024
 
 #define MBUF_DATA_SIZE     RTE_MBUF_DEFAULT_BUF_SIZE
 #define MBUF_PER_POOL 8192
diff --git a/examples/rxtx_callbacks/main.c b/examples/rxtx_callbacks/main.c
index 35b9b0c..50013f6 100644
--- a/examples/rxtx_callbacks/main.c
+++ b/examples/rxtx_callbacks/main.c
@@ -10,8 +10,8 @@
 #include <rte_lcore.h>
 #include <rte_mbuf.h>
 
-#define RX_RING_SIZE 128
-#define TX_RING_SIZE 512
+#define RX_RING_SIZE 1024
+#define TX_RING_SIZE 1024
 
 #define NUM_MBUFS 8191
 #define MBUF_CACHE_SIZE 250
diff --git a/examples/skeleton/basicfwd.c b/examples/skeleton/basicfwd.c
index c37671c..ba9ff10 100644
--- a/examples/skeleton/basicfwd.c
+++ b/examples/skeleton/basicfwd.c
@@ -10,8 +10,8 @@
 #include <rte_lcore.h>
 #include <rte_mbuf.h>
 
-#define RX_RING_SIZE 128
-#define TX_RING_SIZE 512
+#define RX_RING_SIZE 1024
+#define TX_RING_SIZE 1024
 
 #define NUM_MBUFS 8191
 #define MBUF_CACHE_SIZE 250
diff --git a/examples/vm_power_manager/main.c b/examples/vm_power_manager/main.c
index 2ba4d0f..94839bf 100644
--- a/examples/vm_power_manager/main.c
+++ b/examples/vm_power_manager/main.c
@@ -33,8 +33,8 @@
 #include <rte_pmd_i40e.h>
 #include <rte_pmd_bnxt.h>
 
-#define RX_RING_SIZE 512
-#define TX_RING_SIZE 512
+#define RX_RING_SIZE 1024
+#define TX_RING_SIZE 1024
 
 #define NUM_MBUFS 8191
 #define MBUF_CACHE_SIZE 250
diff --git a/examples/vmdq/main.c b/examples/vmdq/main.c
index aa2eb35..2b86f4c 100644
--- a/examples/vmdq/main.c
+++ b/examples/vmdq/main.c
@@ -48,8 +48,8 @@
 /*
  * Configurable number of RX/TX ring descriptors
  */
-#define RTE_TEST_RX_DESC_DEFAULT 128
-#define RTE_TEST_TX_DESC_DEFAULT 512
+#define RTE_TEST_RX_DESC_DEFAULT 1024
+#define RTE_TEST_TX_DESC_DEFAULT 1024
 
 #define INVALID_PORT_ID 0xFF
 
diff --git a/examples/vmdq_dcb/main.c b/examples/vmdq_dcb/main.c
index 1dfdde4..4e81de1 100644
--- a/examples/vmdq_dcb/main.c
+++ b/examples/vmdq_dcb/main.c
@@ -49,8 +49,8 @@
 /*
  * Configurable number of RX/TX ring descriptors
  */
-#define RTE_TEST_RX_DESC_DEFAULT 128
-#define RTE_TEST_TX_DESC_DEFAULT 512
+#define RTE_TEST_RX_DESC_DEFAULT 1024
+#define RTE_TEST_TX_DESC_DEFAULT 1024
 
 #define INVALID_PORT_ID 0xFF
 
-- 
2.9.4

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [dpdk-dev] [PATCH 2/3] app/testpmd: increase rx and tx default ring sizes
  2018-01-12 10:30 ` [dpdk-dev] [PATCH 0/3] Increase default RX/TX " Kevin Laatz
  2018-01-12 10:30   ` [dpdk-dev] [PATCH 1/3] examples: increase rx and tx default " Kevin Laatz
@ 2018-01-12 10:30   ` Kevin Laatz
  2018-01-12 10:30   ` [dpdk-dev] [PATCH 3/3] test: " Kevin Laatz
  2018-01-12 10:48   ` [dpdk-dev] [PATCH v2 0/3] Increase default RX/TX " Kevin Laatz
  3 siblings, 0 replies; 17+ messages in thread
From: Kevin Laatz @ 2018-01-12 10:30 UTC (permalink / raw)
  To: dev; +Cc: Kevin Laatz, wenzhuo.lu, jingjing.wu

Increase the default RX/TX ring sizes to 1024/1024 to
accommodate for NICs with higher throughput (25G, 40G etc)

Signed-off-by: Kevin Laatz <kevin.laatz@intel.com>

---
v2:
    - fixed typo in commit message
    - fixed typo in Cc email address

Cc: wenzhuo.lu@intel.com
Cc: jingjing.wu@intel.com
---
 app/test-pmd/testpmd.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/app/test-pmd/testpmd.c b/app/test-pmd/testpmd.c
index 47e145c..597c703 100644
--- a/app/test-pmd/testpmd.c
+++ b/app/test-pmd/testpmd.c
@@ -191,8 +191,8 @@ queueid_t nb_txq = 1; /**< Number of TX queues per port. */
 /*
  * Configurable number of RX/TX ring descriptors.
  */
-#define RTE_TEST_RX_DESC_DEFAULT 128
-#define RTE_TEST_TX_DESC_DEFAULT 512
+#define RTE_TEST_RX_DESC_DEFAULT 1024
+#define RTE_TEST_TX_DESC_DEFAULT 1024
 uint16_t nb_rxd = RTE_TEST_RX_DESC_DEFAULT; /**< Number of RX descriptors. */
 uint16_t nb_txd = RTE_TEST_TX_DESC_DEFAULT; /**< Number of TX descriptors. */
 
-- 
2.9.4

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [dpdk-dev] [PATCH 3/3] test: increase rx and tx default ring sizes
  2018-01-12 10:30 ` [dpdk-dev] [PATCH 0/3] Increase default RX/TX " Kevin Laatz
  2018-01-12 10:30   ` [dpdk-dev] [PATCH 1/3] examples: increase rx and tx default " Kevin Laatz
  2018-01-12 10:30   ` [dpdk-dev] [PATCH 2/3] app/testpmd: " Kevin Laatz
@ 2018-01-12 10:30   ` Kevin Laatz
  2018-01-12 10:48   ` [dpdk-dev] [PATCH v2 0/3] Increase default RX/TX " Kevin Laatz
  3 siblings, 0 replies; 17+ messages in thread
From: Kevin Laatz @ 2018-01-12 10:30 UTC (permalink / raw)
  To: dev; +Cc: Kevin Laatz, ferruh.yigit, declan.doherty

Increase the default RX/TX ring sizes to 1024/1024 to
accommodate for NICs with higher throughput (25G, 40G etc)

Signed-off-by: Kevin Laatz <kevin.laatz@intel.com>

---
v2:
    fixed typo in commit message

Cc: ferruh.yigit@intel.com
Cc: declan.doherty@intel.com
---
 test/test/test_kni.c                | 4 ++--
 test/test/test_link_bonding.c       | 4 ++--
 test/test/test_link_bonding_mode4.c | 4 ++--
 test/test/test_pmd_perf.c           | 4 ++--
 4 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/test/test/test_kni.c b/test/test/test_kni.c
index 539d231..f6fb1a2 100644
--- a/test/test/test_kni.c
+++ b/test/test/test_kni.c
@@ -23,8 +23,8 @@
 #define PKT_BURST_SZ     32
 #define MEMPOOL_CACHE_SZ PKT_BURST_SZ
 #define SOCKET           0
-#define NB_RXD           128
-#define NB_TXD           512
+#define NB_RXD           1024
+#define NB_TXD           1024
 #define KNI_TIMEOUT_MS   5000 /* ms */
 
 #define IFCONFIG      "/sbin/ifconfig "
diff --git a/test/test/test_link_bonding.c b/test/test/test_link_bonding.c
index 64e24a8..588acc8 100644
--- a/test/test/test_link_bonding.c
+++ b/test/test/test_link_bonding.c
@@ -30,13 +30,13 @@
 
 #define TEST_MAX_NUMBER_OF_PORTS (6)
 
-#define RX_RING_SIZE 128
+#define RX_RING_SIZE 1024
 #define RX_FREE_THRESH 32
 #define RX_PTHRESH 8
 #define RX_HTHRESH 8
 #define RX_WTHRESH 0
 
-#define TX_RING_SIZE 512
+#define TX_RING_SIZE 1024
 #define TX_FREE_THRESH 32
 #define TX_PTHRESH 32
 #define TX_HTHRESH 0
diff --git a/test/test/test_link_bonding_mode4.c b/test/test/test_link_bonding_mode4.c
index fd2e920..426877a 100644
--- a/test/test/test_link_bonding_mode4.c
+++ b/test/test/test_link_bonding_mode4.c
@@ -33,8 +33,8 @@
 
 #define SLAVE_COUNT (4)
 
-#define RX_RING_SIZE 128
-#define TX_RING_SIZE 512
+#define RX_RING_SIZE 1024
+#define TX_RING_SIZE 1024
 
 #define MBUF_CACHE_SIZE         (250)
 #define BURST_SIZE              (32)
diff --git a/test/test/test_pmd_perf.c b/test/test/test_pmd_perf.c
index 7399294..ee148bc 100644
--- a/test/test/test_pmd_perf.c
+++ b/test/test/test_pmd_perf.c
@@ -19,8 +19,8 @@
 #define NB_SOCKETS                      (2)
 #define MEMPOOL_CACHE_SIZE 250
 #define MAX_PKT_BURST                   (32)
-#define RTE_TEST_RX_DESC_DEFAULT        (128)
-#define RTE_TEST_TX_DESC_DEFAULT        (512)
+#define RTE_TEST_RX_DESC_DEFAULT        (1024)
+#define RTE_TEST_TX_DESC_DEFAULT        (1024)
 #define RTE_PORT_ALL            (~(uint16_t)0x0)
 
 /* how long test would take at full line rate */
-- 
2.9.4

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [dpdk-dev] [PATCH v2 0/3] Increase default RX/TX ring sizes
  2018-01-12 10:30 ` [dpdk-dev] [PATCH 0/3] Increase default RX/TX " Kevin Laatz
                     ` (2 preceding siblings ...)
  2018-01-12 10:30   ` [dpdk-dev] [PATCH 3/3] test: " Kevin Laatz
@ 2018-01-12 10:48   ` Kevin Laatz
  2018-01-12 10:48     ` [dpdk-dev] [PATCH v2 1/3] examples: increase rx and tx default " Kevin Laatz
                       ` (3 more replies)
  3 siblings, 4 replies; 17+ messages in thread
From: Kevin Laatz @ 2018-01-12 10:48 UTC (permalink / raw)
  To: dev; +Cc: Kevin Laatz

Increasing the RX/TX default ring size to 1024/1024 to accommodate for
faster NICs. With the increase of number of PPS, a larger RX buffer is
required in order to avoid packet loss. While a ring size of 128 may be
large enough for 1G and possibly 10G NICs, this is not going to scale to
small packet sizes at 25G and 40G line rates. As we are increasing the RX
buffer size to 1024, we also need to increase the TX buffer size to ensure
that the TX side does not become the bottleneck.

v2
  - fixed typos in commit messages
  - fixed typo in Cc email address

Kevin Laatz (3):
  examples: increase rx and tx default ring sizes
  app/testpmd: increase rx and tx default ring sizes
  test: increase rx and tx default ring sizes

 app/test-pmd/testpmd.c                                   | 4 ++--
 examples/bond/main.c                                     | 4 ++--
 examples/distributor/main.c                              | 4 ++--
 examples/ethtool/ethtool-app/main.c                      | 4 ++--
 examples/exception_path/main.c                           | 4 ++--
 examples/flow_classify/flow_classify.c                   | 4 ++--
 examples/ip_fragmentation/main.c                         | 4 ++--
 examples/ip_reassembly/main.c                            | 4 ++--
 examples/ipsec-secgw/ipsec-secgw.c                       | 4 ++--
 examples/ipv4_multicast/main.c                           | 4 ++--
 examples/kni/main.c                                      | 4 ++--
 examples/l2fwd-crypto/main.c                             | 4 ++--
 examples/l2fwd-jobstats/main.c                           | 4 ++--
 examples/l2fwd-keepalive/main.c                          | 4 ++--
 examples/l2fwd/main.c                                    | 4 ++--
 examples/l3fwd-acl/main.c                                | 4 ++--
 examples/l3fwd-power/main.c                              | 4 ++--
 examples/l3fwd-vf/main.c                                 | 4 ++--
 examples/l3fwd/main.c                                    | 4 ++--
 examples/link_status_interrupt/main.c                    | 4 ++--
 examples/multi_process/client_server_mp/mp_server/init.c | 4 ++--
 examples/multi_process/l2fwd_fork/main.c                 | 4 ++--
 examples/multi_process/symmetric_mp/main.c               | 4 ++--
 examples/packet_ordering/main.c                          | 4 ++--
 examples/performance-thread/l3fwd-thread/main.c          | 4 ++--
 examples/ptpclient/ptpclient.c                           | 4 ++--
 examples/qos_meter/main.c                                | 4 ++--
 examples/qos_sched/main.h                                | 4 ++--
 examples/quota_watermark/include/conf.h                  | 4 ++--
 examples/rxtx_callbacks/main.c                           | 4 ++--
 examples/skeleton/basicfwd.c                             | 4 ++--
 examples/vm_power_manager/main.c                         | 4 ++--
 examples/vmdq/main.c                                     | 4 ++--
 examples/vmdq_dcb/main.c                                 | 4 ++--
 test/test/test_kni.c                                     | 4 ++--
 test/test/test_link_bonding.c                            | 4 ++--
 test/test/test_link_bonding_mode4.c                      | 4 ++--
 test/test/test_pmd_perf.c                                | 4 ++--
 38 files changed, 76 insertions(+), 76 deletions(-)

-- 
2.9.4

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [dpdk-dev] [PATCH v2 1/3] examples: increase rx and tx default ring sizes
  2018-01-12 10:48   ` [dpdk-dev] [PATCH v2 0/3] Increase default RX/TX " Kevin Laatz
@ 2018-01-12 10:48     ` Kevin Laatz
  2018-01-12 10:48     ` [dpdk-dev] [PATCH v2 2/3] app/testpmd: " Kevin Laatz
                       ` (2 subsequent siblings)
  3 siblings, 0 replies; 17+ messages in thread
From: Kevin Laatz @ 2018-01-12 10:48 UTC (permalink / raw)
  To: dev
  Cc: Kevin Laatz, ferruh.yigit, declan.doherty, bruce.richardson,
	remy.horton, bernard.iremonger, konstantin.ananyev, radu.nicolau,
	pablo.de.lara.guarch, tomasz.kantecki, david.hunt,
	anatoly.burakov, reshma.pattan, john.mcnamara,
	cristian.dumitrescu

Increase the default RX/TX ring sizes to 1024/1024 to
accommodate for NICs with higher throughput (25G, 40G etc)

Signed-off-by: Kevin Laatz <kevin.laatz@intel.com>

---
v2:
    fixed typo in commit message

Cc: ferruh.yigit@intel.com
Cc: declan.doherty@intel.com
Cc: bruce.richardson@intel.com
Cc: remy.horton@intel.com
Cc: bernard.iremonger@intel.com
Cc: konstantin.ananyev@intel.com
Cc: radu.nicolau@intel.com
Cc: pablo.de.lara.guarch@intel.com
Cc: tomasz.kantecki@intel.com
Cc: david.hunt@intel.com
Cc: anatoly.burakov@intel.com
Cc: reshma.pattan@intel.com
Cc: john.mcnamara@intel.com
Cc: cristian.dumitrescu@intel.com
---
 examples/bond/main.c                                     | 4 ++--
 examples/distributor/main.c                              | 4 ++--
 examples/ethtool/ethtool-app/main.c                      | 4 ++--
 examples/exception_path/main.c                           | 4 ++--
 examples/flow_classify/flow_classify.c                   | 4 ++--
 examples/ip_fragmentation/main.c                         | 4 ++--
 examples/ip_reassembly/main.c                            | 4 ++--
 examples/ipsec-secgw/ipsec-secgw.c                       | 4 ++--
 examples/ipv4_multicast/main.c                           | 4 ++--
 examples/kni/main.c                                      | 4 ++--
 examples/l2fwd-crypto/main.c                             | 4 ++--
 examples/l2fwd-jobstats/main.c                           | 4 ++--
 examples/l2fwd-keepalive/main.c                          | 4 ++--
 examples/l2fwd/main.c                                    | 4 ++--
 examples/l3fwd-acl/main.c                                | 4 ++--
 examples/l3fwd-power/main.c                              | 4 ++--
 examples/l3fwd-vf/main.c                                 | 4 ++--
 examples/l3fwd/main.c                                    | 4 ++--
 examples/link_status_interrupt/main.c                    | 4 ++--
 examples/multi_process/client_server_mp/mp_server/init.c | 4 ++--
 examples/multi_process/l2fwd_fork/main.c                 | 4 ++--
 examples/multi_process/symmetric_mp/main.c               | 4 ++--
 examples/packet_ordering/main.c                          | 4 ++--
 examples/performance-thread/l3fwd-thread/main.c          | 4 ++--
 examples/ptpclient/ptpclient.c                           | 4 ++--
 examples/qos_meter/main.c                                | 4 ++--
 examples/qos_sched/main.h                                | 4 ++--
 examples/quota_watermark/include/conf.h                  | 4 ++--
 examples/rxtx_callbacks/main.c                           | 4 ++--
 examples/skeleton/basicfwd.c                             | 4 ++--
 examples/vm_power_manager/main.c                         | 4 ++--
 examples/vmdq/main.c                                     | 4 ++--
 examples/vmdq_dcb/main.c                                 | 4 ++--
 33 files changed, 66 insertions(+), 66 deletions(-)

diff --git a/examples/bond/main.c b/examples/bond/main.c
index 0df8c8e..2261504 100644
--- a/examples/bond/main.c
+++ b/examples/bond/main.c
@@ -91,8 +91,8 @@
 /*
  * Configurable number of RX/TX ring descriptors
  */
-#define RTE_RX_DESC_DEFAULT 128
-#define RTE_TX_DESC_DEFAULT 512
+#define RTE_RX_DESC_DEFAULT 1024
+#define RTE_TX_DESC_DEFAULT 1024
 
 #define BOND_IP_1	7
 #define BOND_IP_2	0
diff --git a/examples/distributor/main.c b/examples/distributor/main.c
index c7dec76..9280425 100644
--- a/examples/distributor/main.c
+++ b/examples/distributor/main.c
@@ -17,8 +17,8 @@
 #include <rte_distributor.h>
 #include <rte_pause.h>
 
-#define RX_RING_SIZE 512
-#define TX_RING_SIZE 512
+#define RX_RING_SIZE 1024
+#define TX_RING_SIZE 1024
 #define NUM_MBUFS ((64*1024)-1)
 #define MBUF_CACHE_SIZE 128
 #define BURST_SIZE 64
diff --git a/examples/ethtool/ethtool-app/main.c b/examples/ethtool/ethtool-app/main.c
index fb4639e..df89525 100644
--- a/examples/ethtool/ethtool-app/main.c
+++ b/examples/ethtool/ethtool-app/main.c
@@ -20,8 +20,8 @@
 
 #define MAX_PORTS RTE_MAX_ETHPORTS
 #define MAX_BURST_LENGTH 32
-#define PORT_RX_QUEUE_SIZE 128
-#define PORT_TX_QUEUE_SIZE 256
+#define PORT_RX_QUEUE_SIZE 1024
+#define PORT_TX_QUEUE_SIZE 1024
 #define PKTPOOL_EXTRA_SIZE 512
 #define PKTPOOL_CACHE 32
 
diff --git a/examples/exception_path/main.c b/examples/exception_path/main.c
index 06a0d4c..f9b9cc7 100644
--- a/examples/exception_path/main.c
+++ b/examples/exception_path/main.c
@@ -65,10 +65,10 @@
 #define MEMPOOL_CACHE_SZ        PKT_BURST_SZ
 
 /* Number of RX ring descriptors */
-#define NB_RXD                  128
+#define NB_RXD                  1024
 
 /* Number of TX ring descriptors */
-#define NB_TXD                  512
+#define NB_TXD                  1024
 
 /*
  * RX and TX Prefetch, Host, and Write-back threshold values should be
diff --git a/examples/flow_classify/flow_classify.c b/examples/flow_classify/flow_classify.c
index 45b3c1b..1ec4370 100644
--- a/examples/flow_classify/flow_classify.c
+++ b/examples/flow_classify/flow_classify.c
@@ -15,8 +15,8 @@
 #include <rte_flow_classify.h>
 #include <rte_table_acl.h>
 
-#define RX_RING_SIZE 128
-#define TX_RING_SIZE 512
+#define RX_RING_SIZE 1024
+#define TX_RING_SIZE 1024
 
 #define NUM_MBUFS 8191
 #define MBUF_CACHE_SIZE 250
diff --git a/examples/ip_fragmentation/main.c b/examples/ip_fragmentation/main.c
index cf740ab..e9ac5c1 100644
--- a/examples/ip_fragmentation/main.c
+++ b/examples/ip_fragmentation/main.c
@@ -77,8 +77,8 @@
 /*
  * Configurable number of RX/TX ring descriptors
  */
-#define RTE_TEST_RX_DESC_DEFAULT 128
-#define RTE_TEST_TX_DESC_DEFAULT 512
+#define RTE_TEST_RX_DESC_DEFAULT 1024
+#define RTE_TEST_TX_DESC_DEFAULT 1024
 static uint16_t nb_rxd = RTE_TEST_RX_DESC_DEFAULT;
 static uint16_t nb_txd = RTE_TEST_TX_DESC_DEFAULT;
 
diff --git a/examples/ip_reassembly/main.c b/examples/ip_reassembly/main.c
index 5b82bb0..27c6f98 100644
--- a/examples/ip_reassembly/main.c
+++ b/examples/ip_reassembly/main.c
@@ -88,8 +88,8 @@ static uint32_t max_flow_ttl = DEF_FLOW_TTL;
 /*
  * Configurable number of RX/TX ring descriptors
  */
-#define RTE_TEST_RX_DESC_DEFAULT 128
-#define RTE_TEST_TX_DESC_DEFAULT 512
+#define RTE_TEST_RX_DESC_DEFAULT 1024
+#define RTE_TEST_TX_DESC_DEFAULT 1024
 
 static uint16_t nb_rxd = RTE_TEST_RX_DESC_DEFAULT;
 static uint16_t nb_txd = RTE_TEST_TX_DESC_DEFAULT;
diff --git a/examples/ipsec-secgw/ipsec-secgw.c b/examples/ipsec-secgw/ipsec-secgw.c
index 83d7e32..8492618 100644
--- a/examples/ipsec-secgw/ipsec-secgw.c
+++ b/examples/ipsec-secgw/ipsec-secgw.c
@@ -77,8 +77,8 @@
 /*
  * Configurable number of RX/TX ring descriptors
  */
-#define IPSEC_SECGW_RX_DESC_DEFAULT 128
-#define IPSEC_SECGW_TX_DESC_DEFAULT 512
+#define IPSEC_SECGW_RX_DESC_DEFAULT 1024
+#define IPSEC_SECGW_TX_DESC_DEFAULT 1024
 static uint16_t nb_rxd = IPSEC_SECGW_RX_DESC_DEFAULT;
 static uint16_t nb_txd = IPSEC_SECGW_TX_DESC_DEFAULT;
 
diff --git a/examples/ipv4_multicast/main.c b/examples/ipv4_multicast/main.c
index 131c832..c3c412e 100644
--- a/examples/ipv4_multicast/main.c
+++ b/examples/ipv4_multicast/main.c
@@ -74,8 +74,8 @@
 /*
  * Configurable number of RX/TX ring descriptors
  */
-#define RTE_TEST_RX_DESC_DEFAULT 128
-#define RTE_TEST_TX_DESC_DEFAULT 512
+#define RTE_TEST_RX_DESC_DEFAULT 1024
+#define RTE_TEST_TX_DESC_DEFAULT 1024
 static uint16_t nb_rxd = RTE_TEST_RX_DESC_DEFAULT;
 static uint16_t nb_txd = RTE_TEST_TX_DESC_DEFAULT;
 
diff --git a/examples/kni/main.c b/examples/kni/main.c
index e8b4840..ffefb3c 100644
--- a/examples/kni/main.c
+++ b/examples/kni/main.c
@@ -61,10 +61,10 @@
 #define MEMPOOL_CACHE_SZ        PKT_BURST_SZ
 
 /* Number of RX ring descriptors */
-#define NB_RXD                  128
+#define NB_RXD                  1024
 
 /* Number of TX ring descriptors */
-#define NB_TXD                  512
+#define NB_TXD                  1024
 
 /* Total octets in ethernet header */
 #define KNI_ENET_HEADER_SIZE    14
diff --git a/examples/l2fwd-crypto/main.c b/examples/l2fwd-crypto/main.c
index bd92740..4f9aee2 100644
--- a/examples/l2fwd-crypto/main.c
+++ b/examples/l2fwd-crypto/main.c
@@ -69,8 +69,8 @@ enum cdev_type {
 /*
  * Configurable number of RX/TX ring descriptors
  */
-#define RTE_TEST_RX_DESC_DEFAULT 128
-#define RTE_TEST_TX_DESC_DEFAULT 512
+#define RTE_TEST_RX_DESC_DEFAULT 1024
+#define RTE_TEST_TX_DESC_DEFAULT 1024
 
 static uint16_t nb_rxd = RTE_TEST_RX_DESC_DEFAULT;
 static uint16_t nb_txd = RTE_TEST_TX_DESC_DEFAULT;
diff --git a/examples/l2fwd-jobstats/main.c b/examples/l2fwd-jobstats/main.c
index d404f55..c92f6db 100644
--- a/examples/l2fwd-jobstats/main.c
+++ b/examples/l2fwd-jobstats/main.c
@@ -46,8 +46,8 @@
 /*
  * Configurable number of RX/TX ring descriptors
  */
-#define RTE_TEST_RX_DESC_DEFAULT 128
-#define RTE_TEST_TX_DESC_DEFAULT 512
+#define RTE_TEST_RX_DESC_DEFAULT 1024
+#define RTE_TEST_TX_DESC_DEFAULT 1024
 static uint16_t nb_rxd = RTE_TEST_RX_DESC_DEFAULT;
 static uint16_t nb_txd = RTE_TEST_TX_DESC_DEFAULT;
 
diff --git a/examples/l2fwd-keepalive/main.c b/examples/l2fwd-keepalive/main.c
index 1afab54..27d16e6 100644
--- a/examples/l2fwd-keepalive/main.c
+++ b/examples/l2fwd-keepalive/main.c
@@ -52,8 +52,8 @@
 /*
  * Configurable number of RX/TX ring descriptors
  */
-#define RTE_TEST_RX_DESC_DEFAULT 128
-#define RTE_TEST_TX_DESC_DEFAULT 512
+#define RTE_TEST_RX_DESC_DEFAULT 1024
+#define RTE_TEST_TX_DESC_DEFAULT 1024
 static uint16_t nb_rxd = RTE_TEST_RX_DESC_DEFAULT;
 static uint16_t nb_txd = RTE_TEST_TX_DESC_DEFAULT;
 
diff --git a/examples/l2fwd/main.c b/examples/l2fwd/main.c
index c5e88ff..e050202 100644
--- a/examples/l2fwd/main.c
+++ b/examples/l2fwd/main.c
@@ -55,8 +55,8 @@ static int mac_updating = 1;
 /*
  * Configurable number of RX/TX ring descriptors
  */
-#define RTE_TEST_RX_DESC_DEFAULT 128
-#define RTE_TEST_TX_DESC_DEFAULT 512
+#define RTE_TEST_RX_DESC_DEFAULT 1024
+#define RTE_TEST_TX_DESC_DEFAULT 1024
 static uint16_t nb_rxd = RTE_TEST_RX_DESC_DEFAULT;
 static uint16_t nb_txd = RTE_TEST_TX_DESC_DEFAULT;
 
diff --git a/examples/l3fwd-acl/main.c b/examples/l3fwd-acl/main.c
index 4da03f4..a16ccda 100644
--- a/examples/l3fwd-acl/main.c
+++ b/examples/l3fwd-acl/main.c
@@ -76,8 +76,8 @@
 /*
  * Configurable number of RX/TX ring descriptors
  */
-#define RTE_TEST_RX_DESC_DEFAULT 128
-#define RTE_TEST_TX_DESC_DEFAULT 512
+#define RTE_TEST_RX_DESC_DEFAULT 1024
+#define RTE_TEST_TX_DESC_DEFAULT 1024
 static uint16_t nb_rxd = RTE_TEST_RX_DESC_DEFAULT;
 static uint16_t nb_txd = RTE_TEST_TX_DESC_DEFAULT;
 
diff --git a/examples/l3fwd-power/main.c b/examples/l3fwd-power/main.c
index ad8fd7b..b7e5b28 100644
--- a/examples/l3fwd-power/main.c
+++ b/examples/l3fwd-power/main.c
@@ -114,8 +114,8 @@
 /*
  * Configurable number of RX/TX ring descriptors
  */
-#define RTE_TEST_RX_DESC_DEFAULT 512
-#define RTE_TEST_TX_DESC_DEFAULT 512
+#define RTE_TEST_RX_DESC_DEFAULT 1024
+#define RTE_TEST_TX_DESC_DEFAULT 1024
 static uint16_t nb_rxd = RTE_TEST_RX_DESC_DEFAULT;
 static uint16_t nb_txd = RTE_TEST_TX_DESC_DEFAULT;
 
diff --git a/examples/l3fwd-vf/main.c b/examples/l3fwd-vf/main.c
index 571778e..e7c40e9 100644
--- a/examples/l3fwd-vf/main.c
+++ b/examples/l3fwd-vf/main.c
@@ -106,8 +106,8 @@
 /*
  * Configurable number of RX/TX ring descriptors
  */
-#define RTE_TEST_RX_DESC_DEFAULT 128
-#define RTE_TEST_TX_DESC_DEFAULT 512
+#define RTE_TEST_RX_DESC_DEFAULT 1024
+#define RTE_TEST_TX_DESC_DEFAULT 1024
 static uint16_t nb_rxd = RTE_TEST_RX_DESC_DEFAULT;
 static uint16_t nb_txd = RTE_TEST_TX_DESC_DEFAULT;
 
diff --git a/examples/l3fwd/main.c b/examples/l3fwd/main.c
index cec0b0b..34749a1 100644
--- a/examples/l3fwd/main.c
+++ b/examples/l3fwd/main.c
@@ -50,8 +50,8 @@
 /*
  * Configurable number of RX/TX ring descriptors
  */
-#define RTE_TEST_RX_DESC_DEFAULT 128
-#define RTE_TEST_TX_DESC_DEFAULT 512
+#define RTE_TEST_RX_DESC_DEFAULT 1024
+#define RTE_TEST_TX_DESC_DEFAULT 1024
 
 #define MAX_TX_QUEUE_PER_PORT RTE_MAX_ETHPORTS
 #define MAX_RX_QUEUE_PER_PORT 128
diff --git a/examples/link_status_interrupt/main.c b/examples/link_status_interrupt/main.c
index 87b90b3..a3a6b20 100644
--- a/examples/link_status_interrupt/main.c
+++ b/examples/link_status_interrupt/main.c
@@ -47,8 +47,8 @@
 /*
  * Configurable number of RX/TX ring descriptors
  */
-#define RTE_TEST_RX_DESC_DEFAULT 128
-#define RTE_TEST_TX_DESC_DEFAULT 512
+#define RTE_TEST_RX_DESC_DEFAULT 1024
+#define RTE_TEST_TX_DESC_DEFAULT 1024
 static uint16_t nb_rxd = RTE_TEST_RX_DESC_DEFAULT;
 static uint16_t nb_txd = RTE_TEST_TX_DESC_DEFAULT;
 
diff --git a/examples/multi_process/client_server_mp/mp_server/init.c b/examples/multi_process/client_server_mp/mp_server/init.c
index baad5c6..1c465cc 100644
--- a/examples/multi_process/client_server_mp/mp_server/init.c
+++ b/examples/multi_process/client_server_mp/mp_server/init.c
@@ -41,8 +41,8 @@
 #define MBUFS_PER_PORT 1536
 #define MBUF_CACHE_SIZE 512
 
-#define RTE_MP_RX_DESC_DEFAULT 512
-#define RTE_MP_TX_DESC_DEFAULT 512
+#define RTE_MP_RX_DESC_DEFAULT 1024
+#define RTE_MP_TX_DESC_DEFAULT 1024
 #define CLIENT_QUEUE_RINGSIZE 128
 
 #define NO_FLAGS 0
diff --git a/examples/multi_process/l2fwd_fork/main.c b/examples/multi_process/l2fwd_fork/main.c
index 44eea87..0e9459c 100644
--- a/examples/multi_process/l2fwd_fork/main.c
+++ b/examples/multi_process/l2fwd_fork/main.c
@@ -68,8 +68,8 @@ enum l2fwd_cmd{
 /*
  * Configurable number of RX/TX ring descriptors
  */
-#define RTE_TEST_RX_DESC_DEFAULT 128
-#define RTE_TEST_TX_DESC_DEFAULT 512
+#define RTE_TEST_RX_DESC_DEFAULT 1024
+#define RTE_TEST_TX_DESC_DEFAULT 1024
 static uint16_t nb_rxd = RTE_TEST_RX_DESC_DEFAULT;
 static uint16_t nb_txd = RTE_TEST_TX_DESC_DEFAULT;
 
diff --git a/examples/multi_process/symmetric_mp/main.c b/examples/multi_process/symmetric_mp/main.c
index d99c563..99ffb4a 100644
--- a/examples/multi_process/symmetric_mp/main.c
+++ b/examples/multi_process/symmetric_mp/main.c
@@ -48,8 +48,8 @@
 #define NB_MBUFS 64*1024 /* use 64k mbufs */
 #define MBUF_CACHE_SIZE 256
 #define PKT_BURST 32
-#define RX_RING_SIZE 128
-#define TX_RING_SIZE 512
+#define RX_RING_SIZE 1024
+#define TX_RING_SIZE 1024
 
 #define PARAM_PROC_ID "proc-id"
 #define PARAM_NUM_PROCS "num-procs"
diff --git a/examples/packet_ordering/main.c b/examples/packet_ordering/main.c
index 88f0493..d2ae66e 100644
--- a/examples/packet_ordering/main.c
+++ b/examples/packet_ordering/main.c
@@ -16,8 +16,8 @@
 #include <rte_ring.h>
 #include <rte_reorder.h>
 
-#define RX_DESC_PER_QUEUE 128
-#define TX_DESC_PER_QUEUE 512
+#define RX_DESC_PER_QUEUE 1024
+#define TX_DESC_PER_QUEUE 1024
 
 #define MAX_PKTS_BURST 32
 #define REORDER_BUFFER_SIZE 8192
diff --git a/examples/performance-thread/l3fwd-thread/main.c b/examples/performance-thread/l3fwd-thread/main.c
index b6871ef..f7c5f9b 100644
--- a/examples/performance-thread/l3fwd-thread/main.c
+++ b/examples/performance-thread/l3fwd-thread/main.c
@@ -181,8 +181,8 @@ cb_parse_ptype(__rte_unused uint16_t port, __rte_unused uint16_t queue,
 /*
  * Configurable number of RX/TX ring descriptors
  */
-#define RTE_TEST_RX_DESC_DEFAULT 128
-#define RTE_TEST_TX_DESC_DEFAULT 128
+#define RTE_TEST_RX_DESC_DEFAULT 1024
+#define RTE_TEST_TX_DESC_DEFAULT 1024
 static uint16_t nb_rxd = RTE_TEST_RX_DESC_DEFAULT;
 static uint16_t nb_txd = RTE_TEST_TX_DESC_DEFAULT;
 
diff --git a/examples/ptpclient/ptpclient.c b/examples/ptpclient/ptpclient.c
index fad21a0..230443c 100644
--- a/examples/ptpclient/ptpclient.c
+++ b/examples/ptpclient/ptpclient.c
@@ -20,8 +20,8 @@
 #include <sys/time.h>
 #include <getopt.h>
 
-#define RX_RING_SIZE 128
-#define TX_RING_SIZE 512
+#define RX_RING_SIZE 1024
+#define TX_RING_SIZE 1024
 
 #define NUM_MBUFS            8191
 #define MBUF_CACHE_SIZE       250
diff --git a/examples/qos_meter/main.c b/examples/qos_meter/main.c
index 7a0df50..18dcfcc 100644
--- a/examples/qos_meter/main.c
+++ b/examples/qos_meter/main.c
@@ -73,8 +73,8 @@ static struct rte_eth_conf port_conf = {
 	},
 };
 
-#define NIC_RX_QUEUE_DESC               128
-#define NIC_TX_QUEUE_DESC               512
+#define NIC_RX_QUEUE_DESC               1024
+#define NIC_TX_QUEUE_DESC               1024
 
 #define NIC_RX_QUEUE                    0
 #define NIC_TX_QUEUE                    0
diff --git a/examples/qos_sched/main.h b/examples/qos_sched/main.h
index 1c63d95..8a2741c 100644
--- a/examples/qos_sched/main.h
+++ b/examples/qos_sched/main.h
@@ -18,8 +18,8 @@ extern "C" {
  */
 #define APP_INTERACTIVE_DEFAULT 0
 
-#define APP_RX_DESC_DEFAULT 128
-#define APP_TX_DESC_DEFAULT 256
+#define APP_RX_DESC_DEFAULT 1024
+#define APP_TX_DESC_DEFAULT 1024
 
 #define APP_RING_SIZE (8*1024)
 #define NB_MBUF   (2*1024*1024)
diff --git a/examples/quota_watermark/include/conf.h b/examples/quota_watermark/include/conf.h
index 6c7ff47..4f29aa6 100644
--- a/examples/quota_watermark/include/conf.h
+++ b/examples/quota_watermark/include/conf.h
@@ -8,8 +8,8 @@
 #define RING_SIZE 1024
 #define MAX_PKT_QUOTA 64
 
-#define RX_DESC_PER_QUEUE   128
-#define TX_DESC_PER_QUEUE   512
+#define RX_DESC_PER_QUEUE   1024
+#define TX_DESC_PER_QUEUE   1024
 
 #define MBUF_DATA_SIZE     RTE_MBUF_DEFAULT_BUF_SIZE
 #define MBUF_PER_POOL 8192
diff --git a/examples/rxtx_callbacks/main.c b/examples/rxtx_callbacks/main.c
index 35b9b0c..50013f6 100644
--- a/examples/rxtx_callbacks/main.c
+++ b/examples/rxtx_callbacks/main.c
@@ -10,8 +10,8 @@
 #include <rte_lcore.h>
 #include <rte_mbuf.h>
 
-#define RX_RING_SIZE 128
-#define TX_RING_SIZE 512
+#define RX_RING_SIZE 1024
+#define TX_RING_SIZE 1024
 
 #define NUM_MBUFS 8191
 #define MBUF_CACHE_SIZE 250
diff --git a/examples/skeleton/basicfwd.c b/examples/skeleton/basicfwd.c
index c37671c..ba9ff10 100644
--- a/examples/skeleton/basicfwd.c
+++ b/examples/skeleton/basicfwd.c
@@ -10,8 +10,8 @@
 #include <rte_lcore.h>
 #include <rte_mbuf.h>
 
-#define RX_RING_SIZE 128
-#define TX_RING_SIZE 512
+#define RX_RING_SIZE 1024
+#define TX_RING_SIZE 1024
 
 #define NUM_MBUFS 8191
 #define MBUF_CACHE_SIZE 250
diff --git a/examples/vm_power_manager/main.c b/examples/vm_power_manager/main.c
index 2ba4d0f..94839bf 100644
--- a/examples/vm_power_manager/main.c
+++ b/examples/vm_power_manager/main.c
@@ -33,8 +33,8 @@
 #include <rte_pmd_i40e.h>
 #include <rte_pmd_bnxt.h>
 
-#define RX_RING_SIZE 512
-#define TX_RING_SIZE 512
+#define RX_RING_SIZE 1024
+#define TX_RING_SIZE 1024
 
 #define NUM_MBUFS 8191
 #define MBUF_CACHE_SIZE 250
diff --git a/examples/vmdq/main.c b/examples/vmdq/main.c
index aa2eb35..2b86f4c 100644
--- a/examples/vmdq/main.c
+++ b/examples/vmdq/main.c
@@ -48,8 +48,8 @@
 /*
  * Configurable number of RX/TX ring descriptors
  */
-#define RTE_TEST_RX_DESC_DEFAULT 128
-#define RTE_TEST_TX_DESC_DEFAULT 512
+#define RTE_TEST_RX_DESC_DEFAULT 1024
+#define RTE_TEST_TX_DESC_DEFAULT 1024
 
 #define INVALID_PORT_ID 0xFF
 
diff --git a/examples/vmdq_dcb/main.c b/examples/vmdq_dcb/main.c
index 1dfdde4..4e81de1 100644
--- a/examples/vmdq_dcb/main.c
+++ b/examples/vmdq_dcb/main.c
@@ -49,8 +49,8 @@
 /*
  * Configurable number of RX/TX ring descriptors
  */
-#define RTE_TEST_RX_DESC_DEFAULT 128
-#define RTE_TEST_TX_DESC_DEFAULT 512
+#define RTE_TEST_RX_DESC_DEFAULT 1024
+#define RTE_TEST_TX_DESC_DEFAULT 1024
 
 #define INVALID_PORT_ID 0xFF
 
-- 
2.9.4

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [dpdk-dev] [PATCH v2 2/3] app/testpmd: increase rx and tx default ring sizes
  2018-01-12 10:48   ` [dpdk-dev] [PATCH v2 0/3] Increase default RX/TX " Kevin Laatz
  2018-01-12 10:48     ` [dpdk-dev] [PATCH v2 1/3] examples: increase rx and tx default " Kevin Laatz
@ 2018-01-12 10:48     ` Kevin Laatz
  2018-01-12 10:48     ` [dpdk-dev] [PATCH v2 3/3] test: " Kevin Laatz
  2018-01-16 13:13     ` [dpdk-dev] [PATCH v2 0/3] Increase default RX/TX " Adrien Mazarguil
  3 siblings, 0 replies; 17+ messages in thread
From: Kevin Laatz @ 2018-01-12 10:48 UTC (permalink / raw)
  To: dev; +Cc: Kevin Laatz, wenzhuo.lu, jingjing.wu

Increase the default RX/TX ring sizes to 1024/1024 to
accommodate for NICs with higher throughput (25G, 40G etc)

Signed-off-by: Kevin Laatz <kevin.laatz@intel.com>

---
v2:
    - fixed typo in commit message
    - fixed typo in Cc email address

Cc: wenzhuo.lu@intel.com
Cc: jingjing.wu@intel.com
---
 app/test-pmd/testpmd.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/app/test-pmd/testpmd.c b/app/test-pmd/testpmd.c
index 47e145c..597c703 100644
--- a/app/test-pmd/testpmd.c
+++ b/app/test-pmd/testpmd.c
@@ -191,8 +191,8 @@ queueid_t nb_txq = 1; /**< Number of TX queues per port. */
 /*
  * Configurable number of RX/TX ring descriptors.
  */
-#define RTE_TEST_RX_DESC_DEFAULT 128
-#define RTE_TEST_TX_DESC_DEFAULT 512
+#define RTE_TEST_RX_DESC_DEFAULT 1024
+#define RTE_TEST_TX_DESC_DEFAULT 1024
 uint16_t nb_rxd = RTE_TEST_RX_DESC_DEFAULT; /**< Number of RX descriptors. */
 uint16_t nb_txd = RTE_TEST_TX_DESC_DEFAULT; /**< Number of TX descriptors. */
 
-- 
2.9.4

^ permalink raw reply	[flat|nested] 17+ messages in thread

* [dpdk-dev] [PATCH v2 3/3] test: increase rx and tx default ring sizes
  2018-01-12 10:48   ` [dpdk-dev] [PATCH v2 0/3] Increase default RX/TX " Kevin Laatz
  2018-01-12 10:48     ` [dpdk-dev] [PATCH v2 1/3] examples: increase rx and tx default " Kevin Laatz
  2018-01-12 10:48     ` [dpdk-dev] [PATCH v2 2/3] app/testpmd: " Kevin Laatz
@ 2018-01-12 10:48     ` Kevin Laatz
  2018-01-16 13:13     ` [dpdk-dev] [PATCH v2 0/3] Increase default RX/TX " Adrien Mazarguil
  3 siblings, 0 replies; 17+ messages in thread
From: Kevin Laatz @ 2018-01-12 10:48 UTC (permalink / raw)
  To: dev; +Cc: Kevin Laatz, ferruh.yigit, declan.doherty

Increase the default RX/TX ring sizes to 1024/1024 to
accommodate for NICs with higher throughput (25G, 40G etc)

Signed-off-by: Kevin Laatz <kevin.laatz@intel.com>

---
v2:
    fixed typo in commit message

Cc: ferruh.yigit@intel.com
Cc: declan.doherty@intel.com
---
 test/test/test_kni.c                | 4 ++--
 test/test/test_link_bonding.c       | 4 ++--
 test/test/test_link_bonding_mode4.c | 4 ++--
 test/test/test_pmd_perf.c           | 4 ++--
 4 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/test/test/test_kni.c b/test/test/test_kni.c
index 539d231..f6fb1a2 100644
--- a/test/test/test_kni.c
+++ b/test/test/test_kni.c
@@ -23,8 +23,8 @@
 #define PKT_BURST_SZ     32
 #define MEMPOOL_CACHE_SZ PKT_BURST_SZ
 #define SOCKET           0
-#define NB_RXD           128
-#define NB_TXD           512
+#define NB_RXD           1024
+#define NB_TXD           1024
 #define KNI_TIMEOUT_MS   5000 /* ms */
 
 #define IFCONFIG      "/sbin/ifconfig "
diff --git a/test/test/test_link_bonding.c b/test/test/test_link_bonding.c
index 64e24a8..588acc8 100644
--- a/test/test/test_link_bonding.c
+++ b/test/test/test_link_bonding.c
@@ -30,13 +30,13 @@
 
 #define TEST_MAX_NUMBER_OF_PORTS (6)
 
-#define RX_RING_SIZE 128
+#define RX_RING_SIZE 1024
 #define RX_FREE_THRESH 32
 #define RX_PTHRESH 8
 #define RX_HTHRESH 8
 #define RX_WTHRESH 0
 
-#define TX_RING_SIZE 512
+#define TX_RING_SIZE 1024
 #define TX_FREE_THRESH 32
 #define TX_PTHRESH 32
 #define TX_HTHRESH 0
diff --git a/test/test/test_link_bonding_mode4.c b/test/test/test_link_bonding_mode4.c
index fd2e920..426877a 100644
--- a/test/test/test_link_bonding_mode4.c
+++ b/test/test/test_link_bonding_mode4.c
@@ -33,8 +33,8 @@
 
 #define SLAVE_COUNT (4)
 
-#define RX_RING_SIZE 128
-#define TX_RING_SIZE 512
+#define RX_RING_SIZE 1024
+#define TX_RING_SIZE 1024
 
 #define MBUF_CACHE_SIZE         (250)
 #define BURST_SIZE              (32)
diff --git a/test/test/test_pmd_perf.c b/test/test/test_pmd_perf.c
index 7399294..ee148bc 100644
--- a/test/test/test_pmd_perf.c
+++ b/test/test/test_pmd_perf.c
@@ -19,8 +19,8 @@
 #define NB_SOCKETS                      (2)
 #define MEMPOOL_CACHE_SIZE 250
 #define MAX_PKT_BURST                   (32)
-#define RTE_TEST_RX_DESC_DEFAULT        (128)
-#define RTE_TEST_TX_DESC_DEFAULT        (512)
+#define RTE_TEST_RX_DESC_DEFAULT        (1024)
+#define RTE_TEST_TX_DESC_DEFAULT        (1024)
 #define RTE_PORT_ALL            (~(uint16_t)0x0)
 
 /* how long test would take at full line rate */
-- 
2.9.4

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [dpdk-dev] [PATCH v2 0/3] Increase default RX/TX ring sizes
  2018-01-12 10:48   ` [dpdk-dev] [PATCH v2 0/3] Increase default RX/TX " Kevin Laatz
                       ` (2 preceding siblings ...)
  2018-01-12 10:48     ` [dpdk-dev] [PATCH v2 3/3] test: " Kevin Laatz
@ 2018-01-16 13:13     ` Adrien Mazarguil
  2018-01-29 16:25       ` Bruce Richardson
  3 siblings, 1 reply; 17+ messages in thread
From: Adrien Mazarguil @ 2018-01-16 13:13 UTC (permalink / raw)
  To: Kevin Laatz; +Cc: dev

Hi Kevin,

On Fri, Jan 12, 2018 at 10:48:43AM +0000, Kevin Laatz wrote:
> Increasing the RX/TX default ring size to 1024/1024 to accommodate for
> faster NICs. With the increase of number of PPS, a larger RX buffer is
> required in order to avoid packet loss. While a ring size of 128 may be
> large enough for 1G and possibly 10G NICs, this is not going to scale to
> small packet sizes at 25G and 40G line rates. As we are increasing the RX
> buffer size to 1024, we also need to increase the TX buffer size to ensure
> that the TX side does not become the bottleneck.
> 
> v2
>   - fixed typos in commit messages
>   - fixed typo in Cc email address

I agree with the above and this series contents but would like to comment
anyway.

Since typical TX/RX bursts are usually somewhere between 16 to 64 packets
depending on the application, increasing ring size instead of burst size to
keep up with packet rate may mean that software (PMD/application) is too
slow on the RX side or hardware is too slow on the TX side (rings always
full basically), and this is worked around by introducing latency to absorb
packet loss. This is not necessarily a good trade-off.

Granted the most appropriate burst/ring/threshold values always depend on
the application and underlying hardware, and each vendor is responsible for
documenting ideal values for typical applications by providing performance
results.

My concern is that modifying defaults makes performance comparison with past
DPDK releases more difficult for existing automated tests that do not
provide ring size and other parameters. There should an impact given that
larger rings require more buffers, use more cache, and access more memory in
general.

-- 
Adrien Mazarguil
6WIND

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [dpdk-dev] [PATCH v2 0/3] Increase default RX/TX ring sizes
  2018-01-16 13:13     ` [dpdk-dev] [PATCH v2 0/3] Increase default RX/TX " Adrien Mazarguil
@ 2018-01-29 16:25       ` Bruce Richardson
  2018-01-30 13:48         ` Adrien Mazarguil
  0 siblings, 1 reply; 17+ messages in thread
From: Bruce Richardson @ 2018-01-29 16:25 UTC (permalink / raw)
  To: Adrien Mazarguil; +Cc: Kevin Laatz, dev

On Tue, Jan 16, 2018 at 02:13:19PM +0100, Adrien Mazarguil wrote:
> Hi Kevin,
> 
> On Fri, Jan 12, 2018 at 10:48:43AM +0000, Kevin Laatz wrote:
> > Increasing the RX/TX default ring size to 1024/1024 to accommodate for
> > faster NICs. With the increase of number of PPS, a larger RX buffer is
> > required in order to avoid packet loss. While a ring size of 128 may be
> > large enough for 1G and possibly 10G NICs, this is not going to scale to
> > small packet sizes at 25G and 40G line rates. As we are increasing the RX
> > buffer size to 1024, we also need to increase the TX buffer size to ensure
> > that the TX side does not become the bottleneck.
> > 
> > v2
> >   - fixed typos in commit messages
> >   - fixed typo in Cc email address
> 
> I agree with the above and this series contents but would like to comment
> anyway.
> 
> Since typical TX/RX bursts are usually somewhere between 16 to 64 packets
> depending on the application, increasing ring size instead of burst size to
> keep up with packet rate may mean that software (PMD/application) is too
> slow on the RX side or hardware is too slow on the TX side (rings always
> full basically), and this is worked around by introducing latency to absorb
> packet loss. This is not necessarily a good trade-off.

Well, if RX burst size of 64 is in use, the existing default of 128 is
definely very much too low - though point taken about slowness of RX.

> 
> Granted the most appropriate burst/ring/threshold values always depend on
> the application and underlying hardware, and each vendor is responsible for
> documenting ideal values for typical applications by providing performance
> results.

I actually think it probably depends a lot on the NIC hardware in
question. What is the optimal size for an app with a 1G NIC will be
different for a 25G or 100G NIC. I therefore think in a future release
we should have an ethdev API to allow each driver to propose it's
recommended ring sizes. The app can perhaps provide a burst size hint as
parameter. What do you think?

> 
> My concern is that modifying defaults makes performance comparison
> with past DPDK releases more difficult for existing automated tests
> that do not provide ring size and other parameters. There should an
> impact given that larger rings require more buffers, use more cache,
> and access more memory in general.
> 
I'm actually not too concerned about that, as I would expect most
serious performance comparisons to be done with individually tuned rx
and tx ring size parameters. For zero loss throughput tests, larger ring
sizes are needed for any of the NIC I've tested anyway.

Overall, I feel this change is long overdue.

Series Acked-by: Bruce Richardson <bruce.richardson@intel.com>

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [dpdk-dev] [PATCH v2 0/3] Increase default RX/TX ring sizes
  2018-01-29 16:25       ` Bruce Richardson
@ 2018-01-30 13:48         ` Adrien Mazarguil
  2018-01-31 23:12           ` Thomas Monjalon
  0 siblings, 1 reply; 17+ messages in thread
From: Adrien Mazarguil @ 2018-01-30 13:48 UTC (permalink / raw)
  To: Bruce Richardson; +Cc: Kevin Laatz, dev

On Mon, Jan 29, 2018 at 04:25:00PM +0000, Bruce Richardson wrote:
> On Tue, Jan 16, 2018 at 02:13:19PM +0100, Adrien Mazarguil wrote:
> > Hi Kevin,
> > 
> > On Fri, Jan 12, 2018 at 10:48:43AM +0000, Kevin Laatz wrote:
> > > Increasing the RX/TX default ring size to 1024/1024 to accommodate for
> > > faster NICs. With the increase of number of PPS, a larger RX buffer is
> > > required in order to avoid packet loss. While a ring size of 128 may be
> > > large enough for 1G and possibly 10G NICs, this is not going to scale to
> > > small packet sizes at 25G and 40G line rates. As we are increasing the RX
> > > buffer size to 1024, we also need to increase the TX buffer size to ensure
> > > that the TX side does not become the bottleneck.
> > > 
> > > v2
> > >   - fixed typos in commit messages
> > >   - fixed typo in Cc email address
> > 
> > I agree with the above and this series contents but would like to comment
> > anyway.
> > 
> > Since typical TX/RX bursts are usually somewhere between 16 to 64 packets
> > depending on the application, increasing ring size instead of burst size to
> > keep up with packet rate may mean that software (PMD/application) is too
> > slow on the RX side or hardware is too slow on the TX side (rings always
> > full basically), and this is worked around by introducing latency to absorb
> > packet loss. This is not necessarily a good trade-off.
> 
> Well, if RX burst size of 64 is in use, the existing default of 128 is
> definely very much too low - though point taken about slowness of RX.

Agreed, I just wanted to stress that increasing TX/RX ring sizes may result
in rings still full, but thanks to their FIFO nature, now with increased
latency and resource consumption while still dropping packets in case of
HW/SW slowness. This is not the proper workaround for such a scenario (not
uncommon).

> > Granted the most appropriate burst/ring/threshold values always depend on
> > the application and underlying hardware, and each vendor is responsible for
> > documenting ideal values for typical applications by providing performance
> > results.
> 
> I actually think it probably depends a lot on the NIC hardware in
> question. What is the optimal size for an app with a 1G NIC will be
> different for a 25G or 100G NIC. I therefore think in a future release
> we should have an ethdev API to allow each driver to propose it's
> recommended ring sizes. The app can perhaps provide a burst size hint as
> parameter. What do you think?

Sounds like a good idea. It could also be implemented without hurting any
API by making 0 descriptors a special value for rte_eth_[rt]x_queue_setup(),
so that being lazy translates to optimized defaults at the cost of some
uncertainty regarding mbuf pool sizing.

PMDs that do not implement this would reject queue creation as they likely
already do.

> > My concern is that modifying defaults makes performance comparison
> > with past DPDK releases more difficult for existing automated tests
> > that do not provide ring size and other parameters. There should an
> > impact given that larger rings require more buffers, use more cache,
> > and access more memory in general.
> > 
> I'm actually not too concerned about that, as I would expect most
> serious performance comparisons to be done with individually tuned rx
> and tx ring size parameters. For zero loss throughput tests, larger ring
> sizes are needed for any of the NIC I've tested anyway.
> 
> Overall, I feel this change is long overdue.
> 
> Series Acked-by: Bruce Richardson <bruce.richardson@intel.com>

True, therefore:

Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>

-- 
Adrien Mazarguil
6WIND

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: [dpdk-dev] [PATCH v2 0/3] Increase default RX/TX ring sizes
  2018-01-30 13:48         ` Adrien Mazarguil
@ 2018-01-31 23:12           ` Thomas Monjalon
  0 siblings, 0 replies; 17+ messages in thread
From: Thomas Monjalon @ 2018-01-31 23:12 UTC (permalink / raw)
  To: Kevin Laatz; +Cc: dev, Adrien Mazarguil, Bruce Richardson

30/01/2018 14:48, Adrien Mazarguil:
> On Mon, Jan 29, 2018 at 04:25:00PM +0000, Bruce Richardson wrote:
> > On Tue, Jan 16, 2018 at 02:13:19PM +0100, Adrien Mazarguil wrote:
> > > Hi Kevin,
> > > 
> > > On Fri, Jan 12, 2018 at 10:48:43AM +0000, Kevin Laatz wrote:
> > > > Increasing the RX/TX default ring size to 1024/1024 to accommodate for
> > > > faster NICs. With the increase of number of PPS, a larger RX buffer is
> > > > required in order to avoid packet loss. While a ring size of 128 may be
> > > > large enough for 1G and possibly 10G NICs, this is not going to scale to
> > > > small packet sizes at 25G and 40G line rates. As we are increasing the RX
> > > > buffer size to 1024, we also need to increase the TX buffer size to ensure
> > > > that the TX side does not become the bottleneck.
> > > > 
> > > > v2
> > > >   - fixed typos in commit messages
> > > >   - fixed typo in Cc email address
> > > 
> > > I agree with the above and this series contents but would like to comment
> > > anyway.
> > > 
> > > Since typical TX/RX bursts are usually somewhere between 16 to 64 packets
> > > depending on the application, increasing ring size instead of burst size to
> > > keep up with packet rate may mean that software (PMD/application) is too
> > > slow on the RX side or hardware is too slow on the TX side (rings always
> > > full basically), and this is worked around by introducing latency to absorb
> > > packet loss. This is not necessarily a good trade-off.
> > 
> > Well, if RX burst size of 64 is in use, the existing default of 128 is
> > definely very much too low - though point taken about slowness of RX.
> 
> Agreed, I just wanted to stress that increasing TX/RX ring sizes may result
> in rings still full, but thanks to their FIFO nature, now with increased
> latency and resource consumption while still dropping packets in case of
> HW/SW slowness. This is not the proper workaround for such a scenario (not
> uncommon).
> 
> > > Granted the most appropriate burst/ring/threshold values always depend on
> > > the application and underlying hardware, and each vendor is responsible for
> > > documenting ideal values for typical applications by providing performance
> > > results.
> > 
> > I actually think it probably depends a lot on the NIC hardware in
> > question. What is the optimal size for an app with a 1G NIC will be
> > different for a 25G or 100G NIC. I therefore think in a future release
> > we should have an ethdev API to allow each driver to propose it's
> > recommended ring sizes. The app can perhaps provide a burst size hint as
> > parameter. What do you think?
> 
> Sounds like a good idea. It could also be implemented without hurting any
> API by making 0 descriptors a special value for rte_eth_[rt]x_queue_setup(),
> so that being lazy translates to optimized defaults at the cost of some
> uncertainty regarding mbuf pool sizing.
> 
> PMDs that do not implement this would reject queue creation as they likely
> already do.
> 
> > > My concern is that modifying defaults makes performance comparison
> > > with past DPDK releases more difficult for existing automated tests
> > > that do not provide ring size and other parameters. There should an
> > > impact given that larger rings require more buffers, use more cache,
> > > and access more memory in general.
> > > 
> > I'm actually not too concerned about that, as I would expect most
> > serious performance comparisons to be done with individually tuned rx
> > and tx ring size parameters. For zero loss throughput tests, larger ring
> > sizes are needed for any of the NIC I've tested anyway.
> > 
> > Overall, I feel this change is long overdue.
> > 
> > Series Acked-by: Bruce Richardson <bruce.richardson@intel.com>
> 
> True, therefore:
> 
> Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>

Applied, thanks

^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2018-01-31 23:13 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-01-11 17:24 [dpdk-dev] [PATCH 0/3] Increase default RX/TX ring sizes Kevin Laatz
2018-01-11 17:24 ` [dpdk-dev] [PATCH 1/3] examples: increase rx and tx default " Kevin Laatz
2018-01-11 17:24 ` [dpdk-dev] [PATCH 2/3] app/testpmd: increase rx and tx default ring size Kevin Laatz
2018-01-11 17:24 ` [dpdk-dev] [PATCH 2/3] app/testpmd: increase rx and tx default ring sizes Kevin Laatz
2018-01-11 17:24 ` [dpdk-dev] [PATCH 3/3] test: " Kevin Laatz
2018-01-12 10:30 ` [dpdk-dev] [PATCH 0/3] Increase default RX/TX " Kevin Laatz
2018-01-12 10:30   ` [dpdk-dev] [PATCH 1/3] examples: increase rx and tx default " Kevin Laatz
2018-01-12 10:30   ` [dpdk-dev] [PATCH 2/3] app/testpmd: " Kevin Laatz
2018-01-12 10:30   ` [dpdk-dev] [PATCH 3/3] test: " Kevin Laatz
2018-01-12 10:48   ` [dpdk-dev] [PATCH v2 0/3] Increase default RX/TX " Kevin Laatz
2018-01-12 10:48     ` [dpdk-dev] [PATCH v2 1/3] examples: increase rx and tx default " Kevin Laatz
2018-01-12 10:48     ` [dpdk-dev] [PATCH v2 2/3] app/testpmd: " Kevin Laatz
2018-01-12 10:48     ` [dpdk-dev] [PATCH v2 3/3] test: " Kevin Laatz
2018-01-16 13:13     ` [dpdk-dev] [PATCH v2 0/3] Increase default RX/TX " Adrien Mazarguil
2018-01-29 16:25       ` Bruce Richardson
2018-01-30 13:48         ` Adrien Mazarguil
2018-01-31 23:12           ` Thomas Monjalon

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).