From 23650e6cada50246ba211cec168ddd6738a26f67 Mon Sep 17 00:00:00 2001 From: John Lo Date: Tue, 29 Mar 2016 16:14:35 -0400 Subject: Update ENIC driver patches for DPDK 2.2.0 This includes all patches in ENIC driver which are up-streamed to DPDK to improve RX performance, fix buffer/error handling and interoperation with link bonding PMD library. Change-Id: Id4c71a350d5234834951f9261c69db5476ba396b Signed-off-by: John Lo --- .../0012-enic-fix-last-packet-not-being-sent.patch | 34 ++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 dpdk/dpdk-2.2.0_patches/0012-enic-fix-last-packet-not-being-sent.patch (limited to 'dpdk/dpdk-2.2.0_patches/0012-enic-fix-last-packet-not-being-sent.patch') diff --git a/dpdk/dpdk-2.2.0_patches/0012-enic-fix-last-packet-not-being-sent.patch b/dpdk/dpdk-2.2.0_patches/0012-enic-fix-last-packet-not-being-sent.patch new file mode 100644 index 00000000000..181ca912f32 --- /dev/null +++ b/dpdk/dpdk-2.2.0_patches/0012-enic-fix-last-packet-not-being-sent.patch @@ -0,0 +1,34 @@ +commit aba31298526865f5db99eaa54b63eb39dc95b74f +Author: John Daley +Date: Tue Mar 8 10:49:07 2016 -0800 + + enic: fix last packet not being sent + + The last packet of the tx burst function array was not being + emitted until the subsequent call. The nic descriptor index + was being set to the current tx descriptor instead of one past + the descriptor as required by the nic. + + Fixes: d739ba4c6abf ("enic: improve Tx packet rate") + + Signed-off-by: John Daley + +diff --git a/drivers/net/enic/base/enic_vnic_wq.h b/drivers/net/enic/base/enic_vnic_wq.h +index e3ea574..b019109 100644 +--- a/drivers/net/enic/base/enic_vnic_wq.h ++++ b/drivers/net/enic/base/enic_vnic_wq.h +@@ -69,11 +69,11 @@ static inline void enic_vnic_post_wq(struct vnic_wq *wq, + buf->wr_id = wrid; + + buf = buf->next; +- if (cq_entry) +- enic_vnic_post_wq_index(wq); ++ wq->ring.desc_avail -= desc_skip_cnt; + wq->to_use = buf; + +- wq->ring.desc_avail -= desc_skip_cnt; ++ if (cq_entry) ++ enic_vnic_post_wq_index(wq); + } + + #endif /* _ENIC_VNIC_WQ_H_ */ -- cgit 1.2.3-korg