This seems a really nice improvement to me. Thanks!

Unfortunately the patch doesn't apply anymore, could you
rebase and include my ack?

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

On 19/05/2015 22:11, "Kevin Traynor" <kevin.tray...@intel.com> wrote:

>This patch simplifies Rx/Tx NIC configuration by removing
>custom values and using the defaults provided by the DPDK
>PMDs. This also enables Rx vectorisation which improves
>performance.
>
>Signed-off-by: Kevin Traynor <kevin.tray...@intel.com>
>---
> lib/netdev-dpdk.c |   32 ++------------------------------
> 1 files changed, 2 insertions(+), 30 deletions(-)
>
>diff --git a/lib/netdev-dpdk.c b/lib/netdev-dpdk.c
>index 505ab75..685d998 100644
>--- a/lib/netdev-dpdk.c
>+++ b/lib/netdev-dpdk.c
>@@ -90,15 +90,6 @@ BUILD_ASSERT_DECL((MAX_NB_MBUF /
>ROUND_DOWN_POW2(MAX_NB_MBUF/MIN_NB_MBUF))
> #define NIC_PORT_RX_Q_SIZE 2048  /* Size of Physical NIC RX Queue, Max
>(n+32<=4096)*/
> #define NIC_PORT_TX_Q_SIZE 2048  /* Size of Physical NIC TX Queue, Max
>(n+32<=4096)*/
> 
>-/* XXX: Needs per NIC value for these constants. */
>-#define RX_PTHRESH 32 /* Default values of RX prefetch threshold reg. */
>-#define RX_HTHRESH 32 /* Default values of RX host threshold reg. */
>-#define RX_WTHRESH 16 /* Default values of RX write-back threshold reg.
>*/
>-
>-#define TX_PTHRESH 36 /* Default values of TX prefetch threshold reg. */
>-#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. */
>@@ -130,25 +121,6 @@ static const struct rte_eth_conf port_conf = {
>     },
> };
> 
>-static const struct rte_eth_rxconf rx_conf = {
>-    .rx_thresh = {
>-        .pthresh = RX_PTHRESH,
>-        .hthresh = RX_HTHRESH,
>-        .wthresh = RX_WTHRESH,
>-    },
>-};
>-
>-static const struct rte_eth_txconf tx_conf = {
>-    .tx_thresh = {
>-        .pthresh = TX_PTHRESH,
>-        .hthresh = TX_HTHRESH,
>-        .wthresh = TX_WTHRESH,
>-    },
>-    .tx_free_thresh = 0,
>-    .tx_rs_thresh = 0,
>-    .txq_flags = ETH_TXQ_FLAGS_NOMULTSEGS|ETH_TXQ_FLAGS_NOOFFLOADS,
>-};
>-
> enum { MAX_TX_QUEUE_LEN = 384 };
> enum { DPDK_RING_SIZE = 256 };
> BUILD_ASSERT_DECL(IS_POW2(DPDK_RING_SIZE));
>@@ -451,7 +423,7 @@ dpdk_eth_dev_init(struct netdev_dpdk *dev)
>OVS_REQUIRES(dpdk_mutex)
> 
>     for (i = 0; i < dev->up.n_txq; i++) {
>         diag = rte_eth_tx_queue_setup(dev->port_id, i,
>NIC_PORT_TX_Q_SIZE,
>-                                      dev->socket_id, &tx_conf);
>+                                      dev->socket_id, NULL);
>         if (diag) {
>             VLOG_ERR("eth dev tx queue setup error %d",diag);
>             return -diag;
>@@ -461,7 +433,7 @@ dpdk_eth_dev_init(struct netdev_dpdk *dev)
>OVS_REQUIRES(dpdk_mutex)
>     for (i = 0; i < dev->up.n_rxq; i++) {
>         diag = rte_eth_rx_queue_setup(dev->port_id, i,
>NIC_PORT_RX_Q_SIZE,
>                                       dev->socket_id,
>-                                      &rx_conf, dev->dpdk_mp->mp);
>+                                      NULL, dev->dpdk_mp->mp);
>         if (diag) {
>             VLOG_ERR("eth dev rx queue setup error %d",diag);
>             return -diag;
>-- 
>1.7.4.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=wup4xrPeLYedgMLi61bgGwkbt-qdpJ
>5AzyURwQdi4ww&s=ok0Yx0t-s89jl5AF6YXJNOxyPgJtM1r-N2uvapg8IcM&e= 

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

Reply via email to