From a7e830ed468f35590871988e68153222325870b8 Mon Sep 17 00:00:00 2001 From: Mohsin Kazmi Date: Fri, 23 Apr 2021 15:16:50 +0200 Subject: vlib: move offload flags to 1st cacheline in vlib_buffer_t Type: improvement Some tests i.e. ipsec see performance regression when offload flags are moved to 2nd cacheline. This patch moves them back to 1st cacheline. Change-Id: I6ead45ff6d2c467b0d248f409e27c2ba31758741 Signed-off-by: Mohsin Kazmi --- src/plugins/avf/output.c | 2 +- src/plugins/dpdk/device/device.c | 2 +- src/plugins/gtpu/gtpu_decap.c | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) (limited to 'src/plugins') diff --git a/src/plugins/avf/output.c b/src/plugins/avf/output.c index e16d79dfc6d..f35f7bb962b 100644 --- a/src/plugins/avf/output.c +++ b/src/plugins/avf/output.c @@ -60,7 +60,7 @@ avf_tx_prepare_cksum (vlib_buffer_t * b, u8 is_tso) if (!is_tso && !(b->flags & VNET_BUFFER_F_OFFLOAD)) return 0; - u32 oflags = vnet_buffer2 (b)->oflags; + u32 oflags = vnet_buffer (b)->oflags; u32 is_tcp = is_tso || oflags & VNET_BUFFER_OFFLOAD_F_TCP_CKSUM; u32 is_udp = !is_tso && oflags & VNET_BUFFER_OFFLOAD_F_UDP_CKSUM; u32 is_ip4 = b->flags & VNET_BUFFER_F_IS_IP4; diff --git a/src/plugins/dpdk/device/device.c b/src/plugins/dpdk/device/device.c index 94b3f6b289a..7e0f2d43994 100644 --- a/src/plugins/dpdk/device/device.c +++ b/src/plugins/dpdk/device/device.c @@ -228,7 +228,7 @@ dpdk_buffer_tx_offload (dpdk_device_t * xd, vlib_buffer_t * b, if (PREDICT_TRUE (((b->flags & VNET_BUFFER_F_OFFLOAD) | tso) == 0)) return; - oflags = vnet_buffer2 (b)->oflags; + oflags = vnet_buffer (b)->oflags; ip_cksum = oflags & VNET_BUFFER_OFFLOAD_F_IP_CKSUM; tcp_cksum = oflags & VNET_BUFFER_OFFLOAD_F_TCP_CKSUM; udp_cksum = oflags & VNET_BUFFER_OFFLOAD_F_UDP_CKSUM; diff --git a/src/plugins/gtpu/gtpu_decap.c b/src/plugins/gtpu/gtpu_decap.c index 5657c08031b..40243dbcc53 100644 --- a/src/plugins/gtpu/gtpu_decap.c +++ b/src/plugins/gtpu/gtpu_decap.c @@ -1256,12 +1256,12 @@ static char *gtpu_flow_error_strings[] = { #define gtpu_local_need_csum_check(_b) \ (!(_b->flags & VNET_BUFFER_F_L4_CHECKSUM_COMPUTED || \ (_b->flags & VNET_BUFFER_F_OFFLOAD && \ - vnet_buffer2 (_b)->oflags & VNET_BUFFER_OFFLOAD_F_UDP_CKSUM))) + vnet_buffer (_b)->oflags & VNET_BUFFER_OFFLOAD_F_UDP_CKSUM))) #define gtpu_local_csum_is_valid(_b) \ ((_b->flags & VNET_BUFFER_F_L4_CHECKSUM_CORRECT || \ (_b->flags & VNET_BUFFER_F_OFFLOAD && \ - vnet_buffer2 (_b)->oflags & VNET_BUFFER_OFFLOAD_F_UDP_CKSUM)) != 0) + vnet_buffer (_b)->oflags & VNET_BUFFER_OFFLOAD_F_UDP_CKSUM)) != 0) static_always_inline u8 gtpu_validate_udp_csum (vlib_main_t * vm, vlib_buffer_t *b) -- cgit 1.2.3-korg