git: kernel - Fix several bugs in FAIRQ
Matthew Dillon
dillon at crater.dragonflybsd.org
Wed Jun 5 23:58:33 PDT 2013
commit 630fbdc52126e70cf437022128e1b1db429697ce
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date: Wed Jun 5 23:52:02 2013 -0700
kernel - Fix several bugs in FAIRQ
* Fix several possible overflows due to high-valued machclk_freq constants
and uint's that should have been uint64's. Among other things this fixes
bandwidth calculations that could previously get into weird states.
* Refactor the fairq_selectq() routine to fix numerous cases where the
head of the queue could get advanced multiple times without pulling a
packet off the queue, causing packets in queues to be excessively
delayed.
Both of these were rather serious issues. Operation is far smoother with
the bugs fixed.
Summary of changes:
sys/net/altq/altq_fairq.c | 100 +++++++++++++++++++++++++++-------------------
sys/net/altq/altq_fairq.h | 10 ++---
2 files changed, 64 insertions(+), 46 deletions(-)
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/630fbdc52126e70cf437022128e1b1db429697ce
--
DragonFly BSD source repository
More information about the Commits
mailing list