git: dsched_fq - Refactor fqp allocation/destruction

Alex Hornung alexh at crater.dragonflybsd.org
Thu Apr 15 13:26:42 PDT 2010


commit edd247d31a4c3de0b873a975b4cb8230f858031f
Author: Alex Hornung <ahornung at gmail.com>
Date:   Tue Apr 13 07:15:10 2010 +0000

    dsched_fq - Refactor fqp allocation/destruction
    
    * Accept another argument for fqp allocation which is the corresponding
      fqmp. This is internally stored for proper self-removal out of the
      fqmp list on destruction.
    
    * This parameter is also used to link the fqp into the fqmp list
      automatically on creation, avoiding code duplication and deadlocking.
    
    * Changed the destruction refcount to -0x400 instead of -3 to make
      tracking of these cases simpler and not confuse them with bad
      refcounting.
    
    * NOTE: this also fixes the longstanding issue of an eventual panic
      after a number of policy switches to/from fq.
    
    Reported-by: Antonio Huete (tuxillo@)

Summary of changes:
 sys/dsched/fq/dsched_fq.h         |    2 +-
 sys/dsched/fq/dsched_fq_core.c    |   40 +++++++++++++++++++-----------------
 sys/dsched/fq/dsched_fq_diskops.c |    8 +-----
 3 files changed, 24 insertions(+), 26 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/edd247d31a4c3de0b873a975b4cb8230f858031f


-- 
DragonFly BSD source repository





More information about the Commits mailing list