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)
|
||||
vlib_worker_thread_barrier_check ();
|
||||
|
||||
if (PREDICT_FALSE (vm->check_frame_queues + frame_queue_check_counter))
|
||||
{
|
||||
vlib_worker_thread_barrier_check ();
|
||||
if (PREDICT_FALSE (vm->check_frame_queues +
|
||||
frame_queue_check_counter))
|
||||
u32 processed = 0;
|
||||
|
||||
if (vm->check_frame_queues)
|
||||
{
|
||||
u32 processed = 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--;
|
||||
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--;
|
||||
}
|
||||
|
||||
if (PREDICT_FALSE (vec_len (vm->worker_thread_main_loop_callbacks)))
|
||||
|
Reference in New Issue
Block a user