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>
This commit is contained in:
Damjan Marion
2017-04-05 19:18:20 +02:00
committed by Dave Barach
parent bc799c92d7
commit 586afd762b
109 changed files with 790 additions and 791 deletions

View File

@ -209,7 +209,7 @@ always_inline vlib_buffer_known_state_t
vlib_buffer_is_known (vlib_main_t * vm, u32 buffer_index)
{
vlib_buffer_main_t *bm = vm->buffer_main;
ASSERT (os_get_cpu_number () == 0);
ASSERT (vlib_get_thread_index () == 0);
uword *p = hash_get (bm->buffer_known_hash, buffer_index);
return p ? p[0] : VLIB_BUFFER_UNKNOWN;
@ -221,7 +221,7 @@ vlib_buffer_set_known_state (vlib_main_t * vm,
vlib_buffer_known_state_t state)
{
vlib_buffer_main_t *bm = vm->buffer_main;
ASSERT (os_get_cpu_number () == 0);
ASSERT (vlib_get_thread_index () == 0);
hash_set (bm->buffer_known_hash, buffer_index, state);
}