Code Review
/
vpp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
vlib: introduce vlib_get_main_by_index(), vlib_get_n_threads()
[vpp.git]
/
src
/
vlib
/
global_funcs.h
diff --git
a/src/vlib/global_funcs.h
b/src/vlib/global_funcs.h
index
f51ec38
..
b1d636f
100644
(file)
--- a/
src/vlib/global_funcs.h
+++ b/
src/vlib/global_funcs.h
@@
-19,15
+19,33
@@
#ifndef included_vlib_global_funcs_h_
#define included_vlib_global_funcs_h_
#ifndef included_vlib_global_funcs_h_
#define included_vlib_global_funcs_h_
+always_inline u32
+vlib_get_n_threads ()
+{
+ return vec_len (vlib_mains);
+}
+
always_inline vlib_main_t *
always_inline vlib_main_t *
-vlib_get_main
(void
)
+vlib_get_main
_by_index (u32 thread_index
)
{
vlib_main_t *vm;
{
vlib_main_t *vm;
- vm = vlib_mains[
os_get_cpu_number ()
];
+ vm = vlib_mains[
thread_index
];
ASSERT (vm);
return vm;
}
ASSERT (vm);
return vm;
}
+always_inline vlib_main_t *
+vlib_get_main (void)
+{
+ return vlib_get_main_by_index (vlib_get_thread_index ());
+}
+
+always_inline vlib_main_t *
+vlib_get_first_main (void)
+{
+ return vlib_get_main_by_index (0);
+}
+
always_inline vlib_thread_main_t *
vlib_get_thread_main ()
{
always_inline vlib_thread_main_t *
vlib_get_thread_main ()
{