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