Hi, konstantin.ananyev,

That sounds better, will send V2。

Thanks,
Jie Hai


In  commit:
examples/l3fwd: add option to set Rx burst size
you introduced new global
uint32_t nb_pkt_per_burst;
Why not to use it for both (rx and tx) paths?
Or if necessary introduce another one for tx, so we'll have:
uint32_t nb_rx_pkt_per_burst, nb_tx_pkt_per_burst,;
To me that is much better then create some hardcoded
and implicit thresholds.

Fixes: d5c4897ecfb2 ("examples/l3fwd: add option to set Rx burst size")

Signed-off-by: Jie Hai <haij...@huawei.com>
---
  examples/l3fwd/l3fwd.h        | 8 +++++---
  examples/l3fwd/l3fwd_common.h | 6 +++---
  2 files changed, 8 insertions(+), 6 deletions(-)

diff --git a/examples/l3fwd/l3fwd.h b/examples/l3fwd/l3fwd.h
index 0cce3406ee7d..a01fecd51261 100644
--- a/examples/l3fwd/l3fwd.h
+++ b/examples/l3fwd/l3fwd.h
@@ -35,7 +35,7 @@
  /*
   * Try to avoid TX buffering if we have at least MAX_TX_BURST packets to send.
   */
-#define        MAX_TX_BURST      (MAX_PKT_BURST / 2)
+#define        MAX_TX_BURST DEFAULT_PKT_BURST

  #define NB_SOCKETS        8

@@ -57,6 +57,8 @@
  #define L3FWD_HASH_ENTRIES            (1024*1024*1)
  #endif

+static_assert(MAX_TX_BURST <= MAX_PKT_BURST, "MAX_TX_BURST should be at most 
MAX_PKT_BURST");
+
  struct parm_cfg {
        const char *rule_ipv4_name;
        const char *rule_ipv6_name;
@@ -152,8 +154,8 @@ send_single_packet(struct lcore_conf *qconf,
        len++;

        /* enough pkts to be sent */
-       if (unlikely(len == MAX_PKT_BURST)) {
-               send_burst(qconf, MAX_PKT_BURST, port);
+       if (unlikely(len == MAX_TX_BURST)) {
+               send_burst(qconf, MAX_TX_BURST, port);
                len = 0;
        }

diff --git a/examples/l3fwd/l3fwd_common.h b/examples/l3fwd/l3fwd_common.h
index d94e5f135791..3f504dc0a552 100644
--- a/examples/l3fwd/l3fwd_common.h
+++ b/examples/l3fwd/l3fwd_common.h
@@ -71,7 +71,7 @@ send_packetsx4(struct lcore_conf *qconf, uint16_t port, 
struct rte_mbuf *m[],
         * If TX buffer for that queue is empty, and we have enough packets,
         * then send them straightway.
         */
-       if (num >= MAX_TX_BURST && len == 0) {
+       if (num >= MAX_TX_BURST / 2 && len == 0) {
                n = rte_eth_tx_burst(port, qconf->tx_queue_id[port], m, num);
                if (unlikely(n < num)) {
                        do {
@@ -112,9 +112,9 @@ send_packetsx4(struct lcore_conf *qconf, uint16_t port, 
struct rte_mbuf *m[],
        len += n;

        /* enough pkts to be sent */
-       if (unlikely(len == MAX_PKT_BURST)) {
+       if (unlikely(len > MAX_TX_BURST)) {

-               send_burst(qconf, MAX_PKT_BURST, port);
+               send_burst(qconf, len, port);

                /* copy rest of the packets into the TX buffer. */
                len = num - n;
--
2.22.0

Reply via email to