This lab was originally developed for the 2.4 kernel; in the last 2.4 version, 2.4.33, sched.c was 1397 lines long, or 823 lines after stripping out comments and blank lines. In 2.6.15 the same file is 5747 lines long (3557 without blanks or comments), which obviously makes this assignment much more difficult.
2212-line (1271 code lines) 2.6.15 sched.c: sched.c
This version strips out support for SMP, SMT (hyperthreading), scheduler statistics (CONFIG_SCHEDSTATS), kernel preemption, hot-pluggable CPUs, and real-time priorities. In addition, all the standard scheduler code for computing dynamic task priorities has been removed. It compiles, runs, and I can compile a kernel on it. (don't use 'nice' with a negative priority, though, or you may freeze it up)