diff -urN oldtree/kernel/Kconfig.cpusched newtree/kernel/Kconfig.cpusched
--- oldtree/kernel/Kconfig.cpusched	1969-12-31 19:00:00.000000000 -0500
+++ newtree/kernel/Kconfig.cpusched	2006-02-12 18:43:22.712129664 -0500
@@ -0,0 +1,227 @@
+
+menu "CPU schedulers"
+
+config CPUSCHED_SPA
+	bool
+	default n
+
+config CPUSCHED_CHOICE
+	bool "Support multiple CPU schedulers"
+	default y
+	---help---
+	  Say y here if you wish to be able to make a boot time selection
+	  of which CPU scheduler to use.  The CPU scheduler to be used may
+	  then be selected with the boot parameter "cpusched=".  In the
+          absence of such a command line parameter, the scheduler selected
+          at "Default CPU scheduler" will be used.
+
+	  The choice of which schedulers should be compiled into the
+	  kernel (and be available for boot time selection) can be made
+	  be enabling "Select which CPU schedulers to build in".
+
+	  If you say n here the single scheduler to be built into the
+	  kernel may be selected at "Default CPU scheduler".
+
+config CPUSCHED_CHOOSE_BUILTINS
+	bool "Select which CPU schedulers to build in" if CPUSCHED_CHOICE
+	default n
+	---help---
+	  Say y here if you want to be able to select which CPU schedulers
+	  are built into the kernel (for selection at boot time).
+
+config CPUSCHED_INGO
+	bool "Ingosched CPU scheduler" if CPUSCHED_CHOOSE_BUILTINS
+	depends on CPUSCHED_CHOICE
+	default y
+	---help---
+	  This is the standard CPU scheduler which is an O(1) dual priority
+	  array scheduler with a hybrid interactive design.
+	  To boot this CPU scheduler, if it is not the default, use the
+	  boot parameter "cpusched=ingosched".
+
+config CPUSCHED_STAIRCASE
+	bool "Staircase CPU scheduler" if CPUSCHED_CHOOSE_BUILTINS
+	depends on CPUSCHED_CHOICE
+	default y
+	---help---
+	  This scheduler is an O(1) single priority array with a foreground-
+	  background interactive design.
+	  To boot this CPU scheduler, if it is not the default, use the
+	  boot parameter "cpusched=staircase".
+
+config CPUSCHED_SPA_NF
+	bool "SPA CPU scheduler (no frills)" if CPUSCHED_CHOOSE_BUILTINS
+	depends on CPUSCHED_CHOICE
+	select CPUSCHED_SPA
+	default y
+	---help---
+	  This scheduler is a simple round robin O(1) single priority array
+	  scheduler with NO extra scheduling "frills" except for soft and hard
+	  CPU usage rate caps.  This scheduler contains no extra mechanisms
+	  for enhancing interactive response and is best suited for server
+	  systems.
+	  To boot this CPU scheduler, if it is not the default, use the
+	  boot parameter "cpusched=spa_no_frills".
+
+config CPUSCHED_SPA_WS
+	bool "SPA CPU scheduler (work station)" if CPUSCHED_CHOOSE_BUILTINS
+	depends on CPUSCHED_CHOICE
+	select CPUSCHED_SPA
+	default y
+	---help---
+	  This is a scheduler with a O(1) single priority array intended for
+	  use on work stations.  In addition to soft and hard CPU usage rate
+	  caps, it has modifications to improve interactive responsiveness
+	  and media streamer latency.
+	  To boot this CPU scheduler, if it is not the default, use the
+	  boot parameter "cpusched=spa_ws".
+
+config CPUSCHED_SPA_SVR
+	bool "SPA CPU scheduler (server)" if CPUSCHED_CHOOSE_BUILTINS
+	depends on CPUSCHED_CHOICE
+	select CPUSCHED_SPA
+	default y
+	---help---
+	  This is a scheduler with a O(1) single priority array intended for
+	  use on servers.   In addition to soft and hard CPU usage rate
+	  caps, it has modifications to reduce CPU delay at moderate load
+	  levels.
+	  To boot this CPU scheduler, if it is not the default, use the
+	  boot parameter "cpusched=spa_svr".
+
+config CPUSCHED_ZAPHOD
+	bool "Zaphod CPU scheduler" if CPUSCHED_CHOOSE_BUILTINS
+	depends on CPUSCHED_CHOICE
+	select CPUSCHED_SPA
+	default y
+	---help---
+	  This scheduler is an O(1) single priority array with interactive
+	  bonus, throughput bonus, soft and hard CPU rate caps and a runtime
+	  choice between priority based and entitlement based interpretation
+	  of nice.
+	  To boot this CPU scheduler, if it is not the default, use the
+	  boot parameter "cpusched=zaphod".
+
+config CPUSCHED_NICK
+	bool "Nicksched CPU scheduler" if CPUSCHED_CHOOSE_BUILTINS
+	depends on CPUSCHED_CHOICE
+	default y
+	---help---
+	  This is the default CPU scheduler which is an O(1) dual priority
+	  array scheduler with a hybrid interactive design as modified by
+	  Nick Piggin.
+	  To boot this CPU scheduler, if it is not the default, use the
+	  boot parameter "cpusched=nicksched".
+
+menu "Nick Piggins Sched Base Timeslice"
+choice
+        prompt "Nick Piggins Sched Base Timeslice =="
+        default NPT_128
+
+config  NPT_256
+        bool "256 - Best for server usuage."
+config  NPT_128
+        bool "128 - For more interactivity."
+config  NPT_64
+        bool "64  - Besk for Desktop performance"
+config  NPT_32
+        bool "32 - Try at your own risk"
+
+config  NPT_16
+        bool "16 - Insane!!"
+
+endchoice
+
+
+endmenu
+
+menu "SPA scheduler extras"
+	depends CPUSCHED_SPA
+
+config CPUSCHED_ACCRUED_STATS
+	bool "Keep accrued statistics for CPU usage"
+	depends on CPUSCHED_SPA
+	default n
+	---help---
+	  Make accrued CPU statistics available.  Adds approx. 0.5% to system
+	  overhead.
+
+config CPUSCHED_AUTODETECT_MEDIA
+	bool "Automatic detection of and special treatment of media streamers"
+	depends on CPUSCHED_SPA_WS
+	default n
+	---help---
+	  Automatically detect media streamer threads based on the length and
+	  regularity of the interval between CPU bursts.  Give such threads the
+	  maximum interactive bonus.
+
+endmenu
+
+choice
+	prompt "Default CPU scheduler"
+	---help---
+	  This option allows you to choose which CPU scheduler shall be
+	  booted by default at startup if you have enabled CPUSCHED_CHOICE,
+	  or it will select the only scheduler to be built in otherwise.
+
+config CPUSCHED_DEFAULT_INGO
+	bool "Ingosched CPU scheduler"
+	select CPUSCHED_INGO
+	---help---
+	  This is the default CPU scheduler which is an O(1) dual priority
+	  array scheduler with a hybrid interactive design.
+
+config CPUSCHED_DEFAULT_STAIRCASE
+	bool "Staircase CPU scheduler"
+	select CPUSCHED_STAIRCASE
+	---help---
+	  This scheduler is an O(1) single priority array with a foreground-
+	  background interactive design.
+
+config CPUSCHED_DEFAULT_SPA_NF
+	bool "Single priority array (SPA) CPU scheduler (no frills)"
+	select CPUSCHED_SPA_NF
+	select CPUSCHED_SPA
+	---help---
+	  This is a simple round robin scheduler with a O(1) single priority
+	  array.
+
+config CPUSCHED_DEFAULT_SPA_WS
+	bool "Single priority array (SPA) CPU scheduler (work station)"
+	select CPUSCHED_SPA_WS
+	select CPUSCHED_SPA
+	---help---
+	  This is a scheduler with a O(1) single priority array intended for
+	  use on work stations.  It has modifications to improve interactive
+	  responsiveness and media streamer latency.
+
+config CPUSCHED_DEFAULT_SPA_SVR
+	bool "Single priority array (SPA) CPU scheduler (server)"
+	select CPUSCHED_SPA_SVR
+	select CPUSCHED_SPA
+	---help---
+	  This is a scheduler with a O(1) single priority array intended for
+	  use on server.  It has modifications to reduce CPU delay at moderate
+	  levels of load.
+
+config CPUSCHED_DEFAULT_ZAPHOD
+	bool "Zaphod CPU scheduler"
+	select CPUSCHED_ZAPHOD
+	select CPUSCHED_SPA
+	---help---
+	  This scheduler is an O(1) single priority array with interactive
+	  bonus, throughput bonus, soft and hard CPU rate caps and a runtime
+	  choice between priority based and entitlement based interpretation
+	  of nice.
+
+config CPUSCHED_DEFAULT_NICK
+	bool "Nicksched CPU scheduler"
+	select CPUSCHED_NICK
+	---help---
+	  This is the default CPU scheduler which is an O(1) dual priority
+	  array scheduler with a hybrid interactive design as modified by
+	  Nick Piggin.
+
+endchoice
+
+endmenu
