X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvlib%2Fthreads.c;h=82263797d931e4dfcb02e29b82d5ededab9f6537;hb=368104d06ad6d667a8cce152426916fc654b6627;hp=a6915c5949bef3f53631b4b10b6186b0598b83af;hpb=958919f3633f4b900d9ecabc7fc75e02014e5626;p=vpp.git diff --git a/src/vlib/threads.c b/src/vlib/threads.c index a6915c5949b..82263797d93 100644 --- a/src/vlib/threads.c +++ b/src/vlib/threads.c @@ -1814,17 +1814,19 @@ vlib_frame_queue_main_init (u32 node_index, u32 frame_queue_nelts) vlib_frame_queue_main_t *fqm; vlib_frame_queue_t *fq; int i; + u32 num_threads; if (frame_queue_nelts == 0) frame_queue_nelts = FRAME_QUEUE_MAX_NELTS; - ASSERT (frame_queue_nelts >= 8); + num_threads = 1 /* main thread */ + tm->n_threads; + ASSERT (frame_queue_nelts >= 8 + num_threads); vec_add2 (tm->frame_queue_mains, fqm, 1); fqm->node_index = node_index; fqm->frame_queue_nelts = frame_queue_nelts; - fqm->queue_hi_thresh = frame_queue_nelts - 2; + fqm->queue_hi_thresh = frame_queue_nelts - num_threads; vec_validate (fqm->vlib_frame_queues, tm->n_vlib_mains - 1); vec_validate (fqm->per_thread_data, tm->n_vlib_mains - 1);