dsched - expand framework to track threads
authorAlex Hornung <ahornung@gmail.com>
Thu, 22 Apr 2010 09:48:50 +0000 (09:48 +0000)
committerAlex Hornung <ahornung@gmail.com>
Thu, 22 Apr 2010 20:13:04 +0000 (20:13 +0000)
commite02e815e5b4a80e8f373bebaff9be146d3092b56
tree1672fee7bcdeeae63e7602a37daf3924b423c19a
parent3504fcec5e7c4b82b2ea5e510d5e86875540e52f
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
16 files changed:
sys/Makefile
sys/Makefile.modules
sys/conf/files
sys/conf/options
sys/dsched/Makefile [new file with mode: 0644]
sys/dsched/fq/Makefile [new file with mode: 0644]
sys/dsched/fq/dsched_fq.h
sys/dsched/fq/dsched_fq_core.c
sys/dsched/fq/dsched_fq_diskops.c
sys/dsched/fq/dsched_fq_procops.c [deleted file]
sys/kern/kern_dsched.c
sys/kern/subr_disk.c
sys/sys/dsched.h
test/dsched/Makefile [new file with mode: 0644]
test/dsched/dsched_stats.c [new file with mode: 0644]
test/dsched_fq/fqstats.c