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