diff -urN oldtree/.links/bookmarks.html newtree/.links/bookmarks.html
--- oldtree/.links/bookmarks.html	2006-09-17 06:54:54.000000000 -0400
+++ newtree/.links/bookmarks.html	1969-12-31 19:00:00.000000000 -0500
@@ -1,27 +0,0 @@
-<HTML>
-<HEAD>
-<!-- This is an automatically generated file.
-It will be read and overwritten.
-Do Not Edit! -->
-<TITLE>Links bookmarks</TITLE>
-</HEAD>
-<H1>Links bookmarks</H1>
-
-<DL><P>
-    <DT><H3>Links</H3>
-<DL>
-    <DT><H3>English</H3>
-<DL>
-    <DT><A HREF="http://atrey.karlin.mff.cuni.cz/~clock/twibright/links/calibration.html">Calibration Procedure</A>
-    <DT><A HREF="http://atrey.karlin.mff.cuni.cz/~clock/twibright/links/">Links Homepage</A>
-    <DT><A HREF="http://links.sourceforge.net/docs/manual-0.90-en/">Links Manual</A>
-</DL>
-    <DT><H3>Česky</H3>
-<DL>
-    <DT><A HREF="http://atrey.karlin.mff.cuni.cz/~clock/twibright/links/kalibrace.html">Kalibrační procedura</A>
-    <DT><A HREF="http://atrey.karlin.mff.cuni.cz/~clock/twibright/links/index_cz.html">Links: domácí stránka</A>
-    <DT><A HREF="http://links.sourceforge.net/docs/manual-0.90-en/">Manuál k Linksu</A>
-</DL>
-</DL>
-</DL><P>
-</HTML>
diff -urN oldtree/fs/proc/base.c newtree/fs/proc/base.c
--- oldtree/fs/proc/base.c	2006-09-17 05:38:20.000000000 -0400
+++ newtree/fs/proc/base.c	2006-09-17 06:55:06.000000000 -0400
@@ -294,10 +294,13 @@
  */
 static int proc_pid_schedstat(struct task_struct *task, char *buffer)
 {
-	return sprintf(buffer, "%lu %lu %lu\n",
+	int ret = sprintf(buffer, "%lu %lu %lu %lu\n",
 			task->sched_info.cpu_time,
 			task->sched_info.run_delay,
+                        task->sched_info.max_delay,
 			task->sched_info.pcnt);
+        task->sched_info.max_delay = 0;
+        return ret;
 }
 #endif
 
diff -urN oldtree/include/linux/sched.h newtree/include/linux/sched.h
--- oldtree/include/linux/sched.h	2006-09-17 06:54:54.000000000 -0400
+++ newtree/include/linux/sched.h	2006-09-17 06:55:06.000000000 -0400
@@ -589,6 +589,7 @@
 	/* cumulative counters */
 	unsigned long	cpu_time,	/* time spent on the cpu */
 			run_delay,	/* time spent waiting on a runqueue */
+                        max_delay,      /* max time spent waiting on a runq */
 			pcnt;		/* # of timeslices run on this cpu */
 
 	/* timestamps */
diff -urN oldtree/kernel/sched_ingosched.c newtree/kernel/sched_ingosched.c
--- oldtree/kernel/sched_ingosched.c	2006-09-17 06:36:04.000000000 -0400
+++ newtree/kernel/sched_ingosched.c	2006-09-17 06:55:34.000000000 -0400
@@ -429,6 +429,7 @@
 		    rq->sched_switch, rq->sched_cnt, rq->sched_goidle,
 		    rq->ttwu_cnt, rq->ttwu_local,
 		    rq->rq_sched_info.cpu_time,
+                    rq->rq_sched_info.max_delay,
 		    rq->rq_sched_info.run_delay, rq->rq_sched_info.pcnt);
 
 		seq_printf(seq, "\n");
@@ -499,6 +500,7 @@
 rq_sched_info_arrive(struct rq *rq, unsigned long delta_jiffies)
 {
 	if (rq) {
+                rq->rq_sched_info.max_delay = max(rq->rq_sched_info.max_delay, delta_jiffies);
 		rq->rq_sched_info.run_delay += delta_jiffies;
 		rq->rq_sched_info.pcnt++;
 	}
@@ -574,6 +576,7 @@
 	if (t->sched_info.last_queued)
 		delta_jiffies = now - t->sched_info.last_queued;
 	sched_info_dequeued(t);
+        t->sched_info.max_delay = max(t->sched_info.max_delay, delta_jiffies);
 	t->sched_info.run_delay += delta_jiffies;
 	t->sched_info.last_arrival = now;
 	t->sched_info.pcnt++;
diff -urN oldtree/kernel/sched_staircase.c newtree/kernel/sched_staircase.c
--- oldtree/kernel/sched_staircase.c	2006-09-17 06:33:19.000000000 -0400
+++ newtree/kernel/sched_staircase.c	2006-09-17 06:55:34.000000000 -0400
@@ -352,6 +352,7 @@
 		    rq->sched_switch, rq->sched_cnt, rq->sched_goidle,
 		    rq->ttwu_cnt, rq->ttwu_local,
 		    rq->rq_sched_info.cpu_time,
+                    rq->rq_sched_info.max_delay,
 		    rq->rq_sched_info.run_delay, rq->rq_sched_info.pcnt);
 
 		seq_printf(seq, "\n");
@@ -422,6 +423,7 @@
 rq_sched_info_arrive(struct rq *rq, unsigned long delta_jiffies)
 {
 	if (rq) {
+                rq->rq_sched_info.max_delay = max(rq->rq_sched_info.max_delay, delta_jiffies);
 		rq->rq_sched_info.run_delay += delta_jiffies;
 		rq->rq_sched_info.pcnt++;
 	}
@@ -491,6 +493,7 @@
 	if (t->sched_info.last_queued)
 		delta_jiffies = now - t->sched_info.last_queued;
 	sched_info_dequeued(t);
+        t->sched_info.max_delay = max(t->sched_info.max_delay, diff);
 	t->sched_info.run_delay += delta_jiffies;
 	t->sched_info.last_arrival = now;
 	t->sched_info.pcnt++;
Files oldtree/scripts/kconfig/mconf and newtree/scripts/kconfig/mconf differ
