Subject: CVS commit: src/sys
To: None <source-changes@NetBSD.org>
From: Mindaugas Rasiukevicius <rmind@netbsd.org>
List: source-changes
Date: 10/09/2007 19:00:17
Module Name:	src
Committed By:	rmind
Date:		Tue Oct  9 19:00:17 UTC 2007

Modified Files:
	src/sys/conf: files
	src/sys/kern: kern_lwp.c kern_sleepq.c kern_synch.c sched_4bsd.c
	src/sys/sys: lwp.h param.h sched.h
Added Files:
	src/sys/kern: sched_m2.c

Log Message:
Import of SCHED_M2 - the implementation of new scheduler, which is based
on the original approach of SVR4 with some inspirations about balancing
and migration from Solaris.  It implements per-CPU runqueues, provides a
real-time (RT) and time-sharing (TS) queues, ready to support a POSIX
real-time extensions, and also prepared for the support of CPU affinity.

The following lines in the kernel config enables the SCHED_M2:

no options SCHED_4BSD
options SCHED_M2

The scheduler seems to be stable.  Further work will come soon.

http://mail-index.netbsd.org/tech-kern/2007/10/04/0001.html
http://www.netbsd.org/~rmind/m2/mysql_bench_ro_4x_local.png
Thanks <ad> for the benchmarks!


To generate a diff of this commit:
cvs rdiff -r1.867 -r1.868 src/sys/conf/files
cvs rdiff -r1.72 -r1.73 src/sys/kern/kern_lwp.c
cvs rdiff -r1.14 -r1.15 src/sys/kern/kern_sleepq.c
cvs rdiff -r1.199 -r1.200 src/sys/kern/kern_synch.c
cvs rdiff -r1.5 -r1.6 src/sys/kern/sched_4bsd.c
cvs rdiff -r0 -r1.1 src/sys/kern/sched_m2.c
cvs rdiff -r1.65 -r1.66 src/sys/sys/lwp.h
cvs rdiff -r1.276 -r1.277 src/sys/sys/param.h
cvs rdiff -r1.38 -r1.39 src/sys/sys/sched.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.