Fix burst processing for WF2Q pipes - do not increase available burst size
unless pipe is idle. This should fix follwing issues: - 'dummynet: OUCH! pipe should have been idle!' log messages. - exceeding configured pipe bandwidth. MFC after: 1 week
This commit is contained in:
parent
454939f33e
commit
22746035ec
@ -1447,7 +1447,9 @@ dummynet_io(struct mbuf **m0, int dir, struct ip_fw_args *fwa)
|
||||
q->numbytes += pipe->bandwidth;
|
||||
}
|
||||
} else { /* WF2Q. */
|
||||
if (pipe->idle_time < curr_time) {
|
||||
if (pipe->idle_time < curr_time &&
|
||||
pipe->scheduler_heap.elements == 0 &&
|
||||
pipe->not_eligible_heap.elements == 0) {
|
||||
/* Calculate available burst size. */
|
||||
pipe->numbytes +=
|
||||
(curr_time - pipe->idle_time - 1) * pipe->bandwidth;
|
||||
|
Loading…
x
Reference in New Issue
Block a user