Code Review
/
vpp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
Use thread local storage for thread index
[vpp.git]
/
src
/
vlib
/
main.c
diff --git
a/src/vlib/main.c
b/src/vlib/main.c
index
b22203f
..
422d3e2
100644
(file)
--- a/
src/vlib/main.c
+++ b/
src/vlib/main.c
@@
-136,18
+136,18
@@
vlib_frame_alloc_to_node (vlib_main_t * vm, u32 to_node_index,
else
{
f = clib_mem_alloc_aligned_no_fail (n, VLIB_FRAME_ALIGN);
else
{
f = clib_mem_alloc_aligned_no_fail (n, VLIB_FRAME_ALIGN);
- f->
cpu_index = vm->cpu
_index;
+ f->
thread_index = vm->thread
_index;
fi = vlib_frame_index_no_check (vm, f);
}
/* Poison frame when debugging. */
if (CLIB_DEBUG > 0)
{
fi = vlib_frame_index_no_check (vm, f);
}
/* Poison frame when debugging. */
if (CLIB_DEBUG > 0)
{
- u32 save_
cpu_index = f->cpu
_index;
+ u32 save_
thread_index = f->thread
_index;
memset (f, 0xfe, n);
memset (f, 0xfe, n);
- f->
cpu_index = save_cpu
_index;
+ f->
thread_index = save_thread
_index;
}
/* Insert magic number. */
}
/* Insert magic number. */
@@
-517,7
+517,7
@@
vlib_put_next_frame (vlib_main_t * vm,
* a dangling frame reference. Each thread has its own copy of
* the next_frames vector.
*/
* a dangling frame reference. Each thread has its own copy of
* the next_frames vector.
*/
- if (0 && r->
cpu_index != next_runtime->cpu
_index)
+ if (0 && r->
thread_index != next_runtime->thread
_index)
{
nf->frame_index = ~0;
nf->flags &= ~(VLIB_FRAME_PENDING | VLIB_FRAME_IS_ALLOCATED);
{
nf->frame_index = ~0;
nf->flags &= ~(VLIB_FRAME_PENDING | VLIB_FRAME_IS_ALLOCATED);
@@
-866,7
+866,7
@@
vlib_elog_main_loop_event (vlib_main_t * vm,
: evm->node_call_elog_event_types,
node_index),
/* track */
: evm->node_call_elog_event_types,
node_index),
/* track */
- (vm->
cpu_index ? &vlib_worker_threads[vm->cpu
_index].
+ (vm->
thread_index ? &vlib_worker_threads[vm->thread
_index].
elog_track : &em->default_track),
/* data to log */ n_vectors);
}
elog_track : &em->default_track),
/* data to log */ n_vectors);
}
@@
-963,7
+963,7
@@
dispatch_node (vlib_main_t * vm,
vm->cpu_time_last_node_dispatch = last_time_stamp;
vm->cpu_time_last_node_dispatch = last_time_stamp;
- if (1 /* || vm->
cpu_index == node->cpu
_index */ )
+ if (1 /* || vm->
thread_index == node->thread
_index */ )
{
vlib_main_t *stat_vm;
{
vlib_main_t *stat_vm;
@@
-1029,7
+1029,7
@@
dispatch_node (vlib_main_t * vm,
{
u32 node_name, vector_length, is_polling;
} *ed;
{
u32 node_name, vector_length, is_polling;
} *ed;
- vlib_worker_thread_t *w = vlib_worker_threads + vm->
cpu
_index;
+ vlib_worker_thread_t *w = vlib_worker_threads + vm->
thread
_index;
#endif
if ((dispatch_state == VLIB_NODE_STATE_INTERRUPT
#endif
if ((dispatch_state == VLIB_NODE_STATE_INTERRUPT