git: DragonFly_RELEASE_3_4 kernel - Fix several bugs in FAIRQ

Matthew Dillon dillon at crater.dragonflybsd.org
Thu Jun 6 13:23:33 PDT 2013


commit 9bee4539340260af03e7f4b7be194e90bbb47f4c
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/9bee4539340260af03e7f4b7be194e90bbb47f4c


-- 
DragonFly BSD source repository


More information about the Commits mailing list