git: kernel - Fix several bugs in FAIRQ

Matthew Dillon dillon at
Wed Jun 5 23:58:33 PDT 2013

commit 630fbdc52126e70cf437022128e1b1db429697ce
Author: Matthew Dillon <dillon at>
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
    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(-)

DragonFly BSD source repository

More information about the Commits mailing list