patch-2.1.106 linux/arch/i386/kernel/process.c

Next file: linux/arch/i386/kernel/setup.c
Previous file: linux/arch/i386/kernel/head.S
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.1.105/linux/arch/i386/kernel/process.c linux/arch/i386/kernel/process.c
@@ -125,8 +125,10 @@
 		 *	the APM bios knowing only one CPU at a time will do
 		 *	so.
 		 */
-		if (!start_idle) 
+		if (!start_idle) {
+			check_pgt_cache();
 			start_idle = jiffies;
+		}
 		if (jiffies - start_idle > HARD_IDLE_TIMEOUT) 
 			hard_idle();
 		else  {
@@ -158,6 +160,7 @@
 		if(current_cpu_data.hlt_works_ok &&
 		 		!hlt_counter && !need_resched)
 			__asm("hlt");
+		check_pgt_cache();
 		/*
 		 * tq_scheduler currently assumes we're running in a process
 		 * context (ie that we hold the kernel lock..)
@@ -551,9 +554,9 @@
 
 	if ((fpvalid = current->used_math) != 0) {
 		if (boot_cpu_data.hard_math) {
-		  if (last_task_used_math == current) {
-			  __asm__("clts ; fsave %0; fwait": :"m" (*fpu));
-		  }
+			if (last_task_used_math == current) {
+				__asm__("clts ; fsave %0; fwait": :"m" (*fpu));
+			}
 			else
 				memcpy(fpu,&current->tss.i387.hard,sizeof(*fpu));
 		} else {

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov