diff options
author | Mohsin Kazmi <sykazmi@cisco.com> | 2021-04-23 15:16:50 +0200 |
---|---|---|
committer | Damjan Marion <dmarion@me.com> | 2021-05-05 11:10:51 +0000 |
commit | a7e830ed468f35590871988e68153222325870b8 (patch) | |
tree | 6a92f425056bf061e7df502e9c6235cfaf2ca62a /src/plugins | |
parent | baa18701b9d54d8924771c25b96bd5d99472b7ad (diff) |
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 <sykazmi@cisco.com>
Diffstat (limited to 'src/plugins')
-rw-r--r-- | src/plugins/avf/output.c | 2 | ||||
-rw-r--r-- | src/plugins/dpdk/device/device.c | 2 | ||||
-rw-r--r-- | src/plugins/gtpu/gtpu_decap.c | 4 |
3 files changed, 4 insertions, 4 deletions
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) |