aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/ioam/ip6
diff options
context:
space:
mode:
authorDamjan Marion <damarion@cisco.com>2017-04-05 19:18:20 +0200
committerDave Barach <openvpp@barachs.net>2017-04-06 11:31:39 +0000
commit586afd762bfa149f5ca167bd5fd5a0cd59ce94fe (patch)
tree808b57c61e0fe1a181871bb1ad94398c5ba42671 /src/plugins/ioam/ip6
parentbc799c92d761a2d45105aa6a1685b3663687d2a4 (diff)
Use thread local storage for thread index
This patch deprecates stack-based thread identification, Also removes requirement that thread stacks are adjacent. Finally, possibly annoying for some folks, it renames all occurences of cpu_index and cpu_number with thread index. Using word "cpu" is misleading here as thread can be migrated ti different CPU, and also it is not related to linux cpu index. Change-Id: I68cdaf661e701d2336fc953dcb9978d10a70f7c1 Signed-off-by: Damjan Marion <damarion@cisco.com>
Diffstat (limited to 'src/plugins/ioam/ip6')
-rw-r--r--src/plugins/ioam/ip6/ioam_cache_tunnel_select_node.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/src/plugins/ioam/ip6/ioam_cache_tunnel_select_node.c b/src/plugins/ioam/ip6/ioam_cache_tunnel_select_node.c
index a56dc040e82..0cf742c9be2 100644
--- a/src/plugins/ioam/ip6/ioam_cache_tunnel_select_node.c
+++ b/src/plugins/ioam/ip6/ioam_cache_tunnel_select_node.c
@@ -396,7 +396,7 @@ ip6_reset_ts_hbh_node_fn (vlib_main_t * vm,
clib_net_to_host_u32
(tcp0->seq_number) + 1,
no_of_responses, now,
- vm->cpu_index, &pool_index0))
+ vm->thread_index, &pool_index0))
{
cache_ts_added++;
}
@@ -419,7 +419,7 @@ ip6_reset_ts_hbh_node_fn (vlib_main_t * vm,
e2e =
(ioam_e2e_cache_option_t *) ((u8 *) hbh0 +
cm->rewrite_pool_index_offset);
- e2e->pool_id = (u8) vm->cpu_index;
+ e2e->pool_id = (u8) vm->thread_index;
e2e->pool_index = pool_index0;
ioam_e2e_id_rewrite_handler ((ioam_e2e_id_option_t *)
((u8 *) e2e +
@@ -455,7 +455,7 @@ ip6_reset_ts_hbh_node_fn (vlib_main_t * vm,
clib_net_to_host_u32
(tcp1->seq_number) + 1,
no_of_responses, now,
- vm->cpu_index, &pool_index1))
+ vm->thread_index, &pool_index1))
{
cache_ts_added++;
}
@@ -479,7 +479,7 @@ ip6_reset_ts_hbh_node_fn (vlib_main_t * vm,
e2e =
(ioam_e2e_cache_option_t *) ((u8 *) hbh1 +
cm->rewrite_pool_index_offset);
- e2e->pool_id = (u8) vm->cpu_index;
+ e2e->pool_id = (u8) vm->thread_index;
e2e->pool_index = pool_index1;
ioam_e2e_id_rewrite_handler ((ioam_e2e_id_option_t *)
((u8 *) e2e +
@@ -562,7 +562,7 @@ ip6_reset_ts_hbh_node_fn (vlib_main_t * vm,
clib_net_to_host_u32
(tcp0->seq_number) + 1,
no_of_responses, now,
- vm->cpu_index, &pool_index0))
+ vm->thread_index, &pool_index0))
{
cache_ts_added++;
}
@@ -585,7 +585,7 @@ ip6_reset_ts_hbh_node_fn (vlib_main_t * vm,
e2e =
(ioam_e2e_cache_option_t *) ((u8 *) hbh0 +
cm->rewrite_pool_index_offset);
- e2e->pool_id = (u8) vm->cpu_index;
+ e2e->pool_id = (u8) vm->thread_index;
e2e->pool_index = pool_index0;
ioam_e2e_id_rewrite_handler ((ioam_e2e_id_option_t *)
((u8 *) e2e +
@@ -701,7 +701,7 @@ expired_cache_ts_timer_callback (u32 * expired_timers)
ioam_cache_main_t *cm = &ioam_cache_main;
int i;
u32 pool_index;
- u32 thread_index = os_get_cpu_number ();
+ u32 thread_index = vlib_get_thread_index ();
u32 count = 0;
for (i = 0; i < vec_len (expired_timers); i++)
@@ -724,7 +724,7 @@ ioam_cache_ts_timer_tick_node_fn (vlib_main_t * vm,
vlib_frame_t * f)
{
ioam_cache_main_t *cm = &ioam_cache_main;
- u32 my_thread_index = os_get_cpu_number ();
+ u32 my_thread_index = vlib_get_thread_index ();
struct timespec ts, tsrem;
tw_timer_expire_timers_16t_2w_512sl (&cm->timer_wheels[my_thread_index],