diff -Naur linux-2.6.12-rc2-mm3/drivers/block/elevator.c linux-2.6.12-rc2-mm3-menu/drivers/block/elevator.c
--- linux-2.6.12-rc2-mm3/drivers/block/elevator.c	2005-04-14 02:47:03.165961896 -0700
+++ linux-2.6.12-rc2-mm3-menu/drivers/block/elevator.c	2005-04-19 10:25:19.304746128 -0700
@@ -149,7 +149,19 @@
 	return ret;
 }
 
-static char chosen_elevator[16];
+
+#ifdef CONFIG_SELECT_CFQ
+static char chosen_elevator[16]="cfq";
+#endif
+#ifdef CONFIG_SELECT_NOOP
+static char chosen_elevator[16]="noop";
+#endif
+#ifdef CONFIG_SELECT_DEADLINE
+static char chosen_elevator[16]="deadline";
+#endif
+#ifdef CONFIG_SELECT_ANTICIPATORY
+static char chosen_elevator[16]="anticipatory";
+#endif
 
 static void elevator_setup_default(void)
 {
diff -Naur linux-2.6.12-rc2-mm3/init/Kconfig.io linux-2.6.12-rc2-mm3-menu/init/Kconfig.io
--- linux-2.6.12-rc2-mm3/init/Kconfig.io	1969-12-31 16:00:00.000000000 -0800
+++ linux-2.6.12-rc2-mm3-menu/init/Kconfig.io	2005-04-19 10:26:57.580805896 -0700
@@ -0,0 +1,14 @@
+choice
+        prompt "Default IO Scheduler"
+        default SELECT_DEADLINE
+
+config  SELECT_CFQ
+        bool "CFQ"                                                      
+config  SELECT_NOOP
+        bool "NO-OP"
+config  SELECT_DEADLINE
+        bool "Deadline"
+config  SELECT_ANTICIPATORY
+        bool "Anticipatory"
+
+endchoice
