git: dsched - expand framework to track threads

Alex Hornung alexh at crater.dragonflybsd.org
Thu Apr 22 13:14:44 PDT 2010


commit e02e815e5b4a80e8f373bebaff9be146d3092b56
Author: Alex Hornung <ahornung at gmail.com>
Date:   Thu Apr 22 09:48:50 2010 +0000

    dsched - expand framework to track threads
    
    * The dsched framework now takes care of tracking threads/procs and
      bufs. Most of this code was factored out of dsched_fq.
    
    * fq now uses the new, much simplified API, reducing the lines of code
      by about 50%.
    
    * this will also allow for runtime policy switching, even to other
      policies that need to track procs/threads. Previously it was only
      possible to have one policy that tracked threads.
    
    * Now all policies can be loaded at any time and will still be able to
      track all the threads.
    
    * dsched_fq is now a module that can be loaded if required. Once loaded
      the policy is registered and ready to use with any disk.
    
    * There is also a kernel option DSCHED_FQ now; otherwise
      dsched_fq_load="YES" has to be set in loader.conf to be able to use fq
      from boot on.
    
    * Make a dsched sysctl tree.
    
    Suggested-by: Aggelos Economopoulos

Summary of changes:
 sys/Makefile                      |    1 +
 sys/Makefile.modules              |    1 +
 sys/conf/files                    |    7 +-
 sys/conf/options                  |    3 +
 sys/dsched/Makefile               |    5 +
 sys/dsched/fq/Makefile            |    4 +
 sys/dsched/fq/dsched_fq.h         |  134 +--------
 sys/dsched/fq/dsched_fq_core.c    |  421 +++++----------------------
 sys/dsched/fq/dsched_fq_diskops.c |  187 +++---------
 sys/dsched/fq/dsched_fq_procops.c |  178 ------------
 sys/kern/kern_dsched.c            |  572 +++++++++++++++++++++++++++++++------
 sys/kern/subr_disk.c              |    3 +-
 sys/sys/dsched.h                  |  153 +++++++++--
 test/dsched/Makefile              |   11 +
 test/dsched/dsched_stats.c        |   48 +++
 test/dsched_fq/fqstats.c          |   24 +--
 16 files changed, 840 insertions(+), 912 deletions(-)
 create mode 100644 sys/dsched/Makefile
 create mode 100644 sys/dsched/fq/Makefile
 delete mode 100644 sys/dsched/fq/dsched_fq_procops.c
 create mode 100644 test/dsched/Makefile
 create mode 100644 test/dsched/dsched_stats.c

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


-- 
DragonFly BSD source repository





More information about the Commits mailing list