aboutsummaryrefslogtreecommitdiffstats
path: root/vnet/vnet/devices/dpdk/node.c
diff options
context:
space:
mode:
authorDave Barach <dave@barachs.net>2016-06-09 08:39:47 -0400
committerDamjan Marion <damarion@cisco.com>2016-06-09 13:41:58 +0000
commit3f3b085c8e1ca12f3325a06d4378e74c120ff038 (patch)
treed66b57f6332699b268fa783137b382824e3398c1 /vnet/vnet/devices/dpdk/node.c
parent55ef1b1f8035b4ade23e5a0c4923ca491a26bdc2 (diff)
VPP-106: fix performance hit due to unprefetched data read
Change-Id: I1325b60b6deadcb51631e178011a31ee70c06cc7 Signed-off-by: Dave Barach <dave@barachs.net>
Diffstat (limited to 'vnet/vnet/devices/dpdk/node.c')
-rw-r--r--vnet/vnet/devices/dpdk/node.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/vnet/vnet/devices/dpdk/node.c b/vnet/vnet/devices/dpdk/node.c
index 2c90d80a31e..d22838f1f06 100644
--- a/vnet/vnet/devices/dpdk/node.c
+++ b/vnet/vnet/devices/dpdk/node.c
@@ -305,9 +305,9 @@ dpdk_rx_next_and_error_from_mb_flags_x1 (dpdk_device_t *xd, struct rte_mbuf *mb,
else
{
*error0 = DPDK_ERROR_NONE;
- if (xd->per_interface_next_index != ~0)
+ if (PREDICT_FALSE(xd->per_interface_next_index != ~0))
n0 = xd->per_interface_next_index;
- else if (mb_flags & PKT_RX_VLAN_PKT)
+ else if (PREDICT_FALSE(xd->vlan_subifs || (mb_flags & PKT_RX_VLAN_PKT)))
n0 = DPDK_RX_NEXT_ETHERNET_INPUT;
else
{