vppinfra: allow handoff to main thread
Type: improvement
Change-Id: If2e907967c9b75997b581ff0c058bd5c15e823f5
Signed-off-by: Damjan Marion <damarion@cisco.com>
(cherry picked from commit f6e6c78807
)
This commit is contained in:

committed by
Andrew Yourtchenko

parent
cc4f3d9102
commit
dccf863d79
@ -1771,28 +1771,26 @@ vlib_main_or_worker_loop (vlib_main_t * vm, int is_main)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (!is_main)
|
if (!is_main)
|
||||||
|
vlib_worker_thread_barrier_check ();
|
||||||
|
|
||||||
|
if (PREDICT_FALSE (vm->check_frame_queues + frame_queue_check_counter))
|
||||||
{
|
{
|
||||||
vlib_worker_thread_barrier_check ();
|
u32 processed = 0;
|
||||||
if (PREDICT_FALSE (vm->check_frame_queues +
|
|
||||||
frame_queue_check_counter))
|
if (vm->check_frame_queues)
|
||||||
{
|
{
|
||||||
u32 processed = 0;
|
frame_queue_check_counter = 100;
|
||||||
|
vm->check_frame_queues = 0;
|
||||||
if (vm->check_frame_queues)
|
|
||||||
{
|
|
||||||
frame_queue_check_counter = 100;
|
|
||||||
vm->check_frame_queues = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
vec_foreach (fqm, tm->frame_queue_mains)
|
|
||||||
processed += vlib_frame_queue_dequeue (vm, fqm);
|
|
||||||
|
|
||||||
/* No handoff queue work found? */
|
|
||||||
if (processed)
|
|
||||||
frame_queue_check_counter = 100;
|
|
||||||
else
|
|
||||||
frame_queue_check_counter--;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
vec_foreach (fqm, tm->frame_queue_mains)
|
||||||
|
processed += vlib_frame_queue_dequeue (vm, fqm);
|
||||||
|
|
||||||
|
/* No handoff queue work found? */
|
||||||
|
if (processed)
|
||||||
|
frame_queue_check_counter = 100;
|
||||||
|
else
|
||||||
|
frame_queue_check_counter--;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (PREDICT_FALSE (vec_len (vm->worker_thread_main_loop_callbacks)))
|
if (PREDICT_FALSE (vec_len (vm->worker_thread_main_loop_callbacks)))
|
||||||
|
Reference in New Issue
Block a user