patch-1.3.14 linux/kernel/sched.c

Next file: linux/mm/filemap.c
Previous file: linux/kernel/itimer.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v1.3.13/linux/kernel/sched.c linux/kernel/sched.c
@@ -183,7 +183,7 @@
 
 	if (intr_count) {
 		printk("Aiee: scheduling in interrupt\n");
-		intr_count = 0;
+		return;
 	}
 	run_task_queue(&tq_scheduler);
 
@@ -233,7 +233,7 @@
 		kstat.context_swtch++;
 		if (timeout) {
 			init_timer(&timer);
-			timer.expires = timeout - jiffies;
+			timer.expires = timeout;
 			timer.data = (unsigned long) current;
 			timer.function = process_timeout;
 			add_timer(&timer);
@@ -369,7 +369,6 @@
 	}
 #endif
 	p = &timer_head;
-	timer->expires += jiffies;
 	save_flags(flags);
 	cli();
 	do {
@@ -397,7 +396,6 @@
 			timer->prev->next = timer->next;
 			timer->next = timer->prev = NULL;
 			restore_flags(flags);
-			timer->expires -= jiffies;
 			return 1;
 		}
 	}
@@ -414,7 +412,6 @@
 		timer->prev->next = timer->next;
 		timer->next = timer->prev = NULL;
 		restore_flags(flags);
-		timer->expires -= jiffies;
 		return 1;
 	}
 	restore_flags(flags);

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov with Sam's (original) version
of this