diff -ur linux-1.1.51/include/linux/sched.h linux/include/linux/sched.h
--- linux-1.1.51/include/linux/sched.h	Sat Sep 24 18:42:40 1994
+++ linux/include/linux/sched.h	Sun Sep 18 16:00:00 1994
@@ -301,6 +301,7 @@
 	struct files_struct files[1];
 /* memory management info */
 	struct mm_struct mm[1];
+	struct wait_queue **ak_wait;
 };
 
 /*
@@ -476,6 +477,8 @@
 		wait->next = (*p)->next;
 		(*p)->next = wait;
 	}
+	if(current)
+		current->ak_wait = p;
 	restore_flags(flags);
 }
 
diff -ur linux-1.1.51/kernel/sched.c linux/kernel/sched.c
--- linux-1.1.51/kernel/sched.c	Sat Sep 24 18:42:13 1994
+++ linux/kernel/sched.c	Sat Sep 24 23:38:37 1994
@@ -765,7 +765,7 @@
 	unsigned long free;
 	static char * stat_nam[] = { "R", "S", "D", "Z", "T", "W" };
 
-	printk("%-8s %3d ", p->comm, (p == current) ? -nr : nr);
+	printk("%-13s %3d ", p->comm, (p == current) ? -nr : nr);
 	if (((unsigned) p->state) < sizeof(stat_nam)/sizeof(char *))
 		printk(stat_nam[p->state]);
 	else
@@ -788,8 +788,12 @@
 	else
 		printk("       ");
 	if (p->p_osptr)
-		printk(" %5d\n", p->p_osptr->pid);
+		printk(" %5d ", p->p_osptr->pid);
 	else
+		printk("       ");
+	if(p->state == 2)
+		printk("%p\n", p->ak_wait);
+	else
 		printk("\n");
 }
 
@@ -797,8 +801,8 @@
 {
 	int i;
 
-	printk("                         free                        sibling\n");
-	printk("  task             PC    stack   pid father child younger older\n");
+	printk("                              free                        sibling    wait queue\n");
+	printk("       task             PC    stack   pid father child younger older\n");
 	for (i=0 ; i<NR_TASKS ; i++)
 		if (task[i])
 			show_task(i,task[i]);
