Subject: CVS commit: syssrc/sys
To: None <source-changes@netbsd.org>
From: Gregory McGarry <gmcgarry@netbsd.org>
List: source-changes
Date: 09/22/2002 08:36:50
Module Name:	syssrc
Committed By:	gmcgarry
Date:		Sun Sep 22 05:36:50 UTC 2002

Modified Files:
	syssrc/sys/kern: kern_sig.c kern_synch.c
	syssrc/sys/sys: proc.h

Log Message:
Separate the scheduler from the context switching code.

This is done by adding an extra argument to mi_switch() and
cpu_switch() which specifies the new process.  If NULL is passed,
then the new function chooseproc() is invoked to wait for a new
process to appear on the run queue.

Also provides an opportunity for optimisations if "switching to self".

Also added are C versions of the setrunqueue() and remrunqueue()
low-level primitives if __HAVE_MD_RUNQUEUE is not defined by MD code.

All these changes are contingent upon the __HAVE_CHOOSEPROC flag being
defined by MD code to indicate that cpu_switch() supports the changes.


To generate a diff of this commit:
cvs rdiff -r1.124 -r1.125 syssrc/sys/kern/kern_sig.c
cvs rdiff -r1.112 -r1.113 syssrc/sys/kern/kern_synch.c
cvs rdiff -r1.145 -r1.146 syssrc/sys/sys/proc.h

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