From 067cd6229a47ea3ba8b59a2a04090e80afb5bd2c Mon Sep 17 00:00:00 2001 From: Damjan Marion Date: Wed, 11 Jul 2018 12:47:43 +0200 Subject: avoid using thread local storage for thread index It is cheaper to get thread index from vlib_main_t if available... Change-Id: I4582e160d06d9d7fccdc54271912f0635da79b50 Signed-off-by: Damjan Marion --- src/vnet/devices/virtio/node.c | 2 +- src/vnet/devices/virtio/vhost_user_input.c | 2 +- src/vnet/devices/virtio/vhost_user_output.c | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) (limited to 'src/vnet/devices/virtio') diff --git a/src/vnet/devices/virtio/node.c b/src/vnet/devices/virtio/node.c index 9477a1cfc58..339c48c93f5 100644 --- a/src/vnet/devices/virtio/node.c +++ b/src/vnet/devices/virtio/node.c @@ -128,7 +128,7 @@ virtio_device_input_inline (vlib_main_t * vm, vlib_node_runtime_t * node, vlib_frame_t * frame, virtio_if_t * vif, u16 qid) { vnet_main_t *vnm = vnet_get_main (); - u32 thread_index = vlib_get_thread_index (); + u32 thread_index = vm->thread_index; uword n_trace = vlib_get_trace_count (vm, node); virtio_vring_t *vring = vec_elt_at_index (vif->vrings, 0); u32 next_index = VNET_DEVICE_INPUT_NEXT_ETHERNET_INPUT; diff --git a/src/vnet/devices/virtio/vhost_user_input.c b/src/vnet/devices/virtio/vhost_user_input.c index 3db44731b5e..3f2b4022dee 100644 --- a/src/vnet/devices/virtio/vhost_user_input.c +++ b/src/vnet/devices/virtio/vhost_user_input.c @@ -256,7 +256,7 @@ vhost_user_if_input (vlib_main_t * vm, u32 next_index = VNET_DEVICE_INPUT_NEXT_ETHERNET_INPUT; u32 n_trace = vlib_get_trace_count (vm, node); u32 map_hint = 0; - u16 thread_index = vlib_get_thread_index (); + u16 thread_index = vm->thread_index; u16 copy_len = 0; { diff --git a/src/vnet/devices/virtio/vhost_user_output.c b/src/vnet/devices/virtio/vhost_user_output.c index f400f18307a..b41583708b3 100644 --- a/src/vnet/devices/virtio/vhost_user_output.c +++ b/src/vnet/devices/virtio/vhost_user_output.c @@ -238,7 +238,7 @@ CLIB_MULTIARCH_FN (vhost_user_tx) (vlib_main_t * vm, u32 qid = ~0; vhost_user_vring_t *rxvq; u8 error; - u32 thread_index = vlib_get_thread_index (); + u32 thread_index = vm->thread_index; u32 map_hint = 0; u8 retry = 8; u16 copy_len; -- cgit 1.2.3-korg