Thanks for taking care of this!

There are some "NETDEV_MAX_RX_BATCH" left in dpif-netdev.c
(inside some #else blocks).

Changing those:

Acked-by: Daniele Di Proietto <diproiet...@vmware.com>

On 16/05/2015 16:24, "Ethan Jackson" <et...@nicira.com> wrote:

>The MAX_PKT_BURST and NETDEV_MAX_RX_BATCH macros had a confusing
>relationship.  They basically purport to do the same thing, making it
>unclear which is the source of truth.
>
>Furthermore, while NETDEV_MAX_RX_BATCH was 256, MAX_PKT_BURST was 32,
>meaning we never process a batch larger than 32 packets further adding
>to the confusion.
>
>This patch resolves the issue by removing MAX_PKT_BURST completely,
>and shrinking the new NETDEV_MAX_BURST macro to only 32.  This should
>have no change in the execution path except shrinking a couple of
>structs and memory allocations (can't hurt).
>
>Signed-off-by: Ethan Jackson <et...@nicira.com>
>---
> lib/dpif-netdev.c | 10 +++++-----
> lib/netdev-dpdk.c |  7 ++-----
> lib/netdev.h      |  2 +-
> 3 files changed, 8 insertions(+), 11 deletions(-)
>
>diff --git a/lib/dpif-netdev.c b/lib/dpif-netdev.c
>index f1d65f5..4216865 100644
>--- a/lib/dpif-netdev.c
>+++ b/lib/dpif-netdev.c
>@@ -2500,7 +2500,7 @@ dp_netdev_process_rxq_port(struct
>dp_netdev_pmd_thread *pmd,
>                            struct dp_netdev_port *port,
>                            struct netdev_rxq *rxq)
> {
>-    struct dp_packet *packets[NETDEV_MAX_RX_BATCH];
>+    struct dp_packet *packets[NETDEV_MAX_BURST];
>     int error, cnt;
> 
>     cycles_count_start(pmd);
>@@ -3027,7 +3027,7 @@ struct packet_batch {
> 
>     struct dp_netdev_flow *flow;
> 
>-    struct dp_packet *packets[NETDEV_MAX_RX_BATCH];
>+    struct dp_packet *packets[NETDEV_MAX_BURST];
> };
> 
> static inline void
>@@ -3397,7 +3397,7 @@ dp_execute_cb(void *aux_, struct dp_packet
>**packets, int cnt,
> 
>     case OVS_ACTION_ATTR_TUNNEL_PUSH:
>         if (*depth < MAX_RECIRC_DEPTH) {
>-            struct dp_packet *tnl_pkt[NETDEV_MAX_RX_BATCH];
>+            struct dp_packet *tnl_pkt[NETDEV_MAX_BURST];
>             int err;
> 
>             if (!may_steal) {
>@@ -3423,7 +3423,7 @@ dp_execute_cb(void *aux_, struct dp_packet
>**packets, int cnt,
> 
>             p = dp_netdev_lookup_port(dp, portno);
>             if (p) {
>-                struct dp_packet *tnl_pkt[NETDEV_MAX_RX_BATCH];
>+                struct dp_packet *tnl_pkt[NETDEV_MAX_BURST];
>                 int err;
> 
>                 if (!may_steal) {
>@@ -3485,7 +3485,7 @@ dp_execute_cb(void *aux_, struct dp_packet
>**packets, int cnt,
> 
>     case OVS_ACTION_ATTR_RECIRC:
>         if (*depth < MAX_RECIRC_DEPTH) {
>-            struct dp_packet *recirc_pkts[NETDEV_MAX_RX_BATCH];
>+            struct dp_packet *recirc_pkts[NETDEV_MAX_BURST];
> 
>             if (!may_steal) {
>                dp_netdev_clone_pkt_batch(recirc_pkts, packets, cnt);
>diff --git a/lib/netdev-dpdk.c b/lib/netdev-dpdk.c
>index 505ab75..b06f92a 100644
>--- a/lib/netdev-dpdk.c
>+++ b/lib/netdev-dpdk.c
>@@ -99,8 +99,6 @@ BUILD_ASSERT_DECL((MAX_NB_MBUF /
>ROUND_DOWN_POW2(MAX_NB_MBUF/MIN_NB_MBUF))
> #define TX_HTHRESH 0  /* Default values of TX host threshold reg. */
> #define TX_WTHRESH 0  /* Default values of TX write-back threshold reg.
>*/
> 
>-#define MAX_PKT_BURST 32           /* Max burst size for RX/TX */
>-
> /* Character device cuse_dev_name. */
> char *cuse_dev_name = NULL;
> 
>@@ -862,7 +860,7 @@ netdev_dpdk_vhost_rxq_recv(struct netdev_rxq *rxq_,
>     nb_rx = rte_vhost_dequeue_burst(virtio_dev, qid,
>                                     vhost_dev->dpdk_mp->mp,
>                                     (struct rte_mbuf **)packets,
>-                                    MAX_PKT_BURST);
>+                                    NETDEV_MAX_BURST);
>     if (!nb_rx) {
>         return EAGAIN;
>     }
>@@ -889,8 +887,7 @@ netdev_dpdk_rxq_recv(struct netdev_rxq *rxq_, struct
>dp_packet **packets,
> 
>     nb_rx = rte_eth_rx_burst(rx->port_id, rxq_->queue_id,
>                              (struct rte_mbuf **) packets,
>-                             MIN((int) NETDEV_MAX_RX_BATCH,
>-                                 (int) MAX_PKT_BURST));
>+                             NETDEV_MAX_BURST);
>     if (!nb_rx) {
>         return EAGAIN;
>     }
>diff --git a/lib/netdev.h b/lib/netdev.h
>index 71c0af1..9d412ee 100644
>--- a/lib/netdev.h
>+++ b/lib/netdev.h
>@@ -338,7 +338,7 @@ typedef void netdev_dump_queue_stats_cb(unsigned int
>queue_id,
> int netdev_dump_queue_stats(const struct netdev *,
>                             netdev_dump_queue_stats_cb *, void *aux);
> 
>-enum { NETDEV_MAX_RX_BATCH = 256 };     /* Maximum number packets in
>rx_recv() batch. */
>+enum { NETDEV_MAX_BURST = 32 }; /* Maximum number packets in a batch. */
> extern struct seq *tnl_conf_seq;
> 
> #ifdef  __cplusplus
>-- 
>1.9.1
>
>_______________________________________________
>dev mailing list
>dev@openvswitch.org
>https://urldefense.proofpoint.com/v2/url?u=http-3A__openvswitch.org_mailma
>n_listinfo_dev&d=AwIGaQ&c=Sqcl0Ez6M0X8aeM67LKIiDJAXVeAw-YihVMNtXt-uEs&r=Sm
>B5nZacmXNq0gKCC1s_Cw5yUNjxgD4v5kJqZ2uWLlE&m=ZI9kjhwXdXZgHq5Sn2fjQEvFNsyA_5
>RU4D-Cye-naIc&s=Mx1RbsnW5OfmPfelDm6GRL1QO16FbFOGuI9YwLZlFg0&e= 

_______________________________________________
dev mailing list
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to