forked from Mirror/frr
zebra: Slow down fpm_process_queue
When the fpm_process_queue has run out of space but has written to the fpm output buffer, schedule it to wake up immediately, as that the write will go out pretty much immediately, since it was scheduled first. If the fpm_process_queue has not written to the output buffer then delay the processing by 10 milliseconds to allow a possibly backed up write processing to have a chance to complete it's work. Signed-off-by: Donald Sharp <sharpd@nvidia.com>
This commit is contained in:
parent
963792e8c5
commit
8aa97a439f
|
@ -1512,8 +1512,12 @@ static void fpm_process_queue(struct event *t)
|
|||
|
||||
/* Re-schedule if we ran out of buffer space */
|
||||
if (no_bufs) {
|
||||
event_add_event(fnc->fthread->master, fpm_process_queue, fnc, 0,
|
||||
&fnc->t_dequeue);
|
||||
if (processed_contexts)
|
||||
event_add_event(fnc->fthread->master, fpm_process_queue, fnc, 0,
|
||||
&fnc->t_dequeue);
|
||||
else
|
||||
event_add_timer_msec(fnc->fthread->master, fpm_process_queue, fnc, 10,
|
||||
&fnc->t_dequeue);
|
||||
event_add_timer(fnc->fthread->master, fpm_process_wedged, fnc,
|
||||
DPLANE_FPM_NL_WEDGIE_TIME, &fnc->t_wedged);
|
||||
} else
|
||||
|
|
Loading…
Reference in a new issue