[svlug] libc questions

George Bonser grep at shorelink.com
Sun Nov 22 17:35:53 PST 1998


On Sun, 22 Nov 1998, Michael K Vance wrote:

> Everything was going along fine until I hit upon the 2.1.12X series infamous
> scheduling bugs... suddenly two bash processes through they owned my CPU, and
> I couldn't spawn anything new... shutting down my window manager seemed to
> have fixed it. Another bug report to linux-kernel...

The following patch will fix the scheduling bug in 2.1.129, it might even
work for .127/.128 but I have not tried to apply it to these.

--------- cut here upfix.patch

diff -u --recursive --new-file v2.1.129/linux/arch/i386/kernel/entry.S linux/arch/i386/kernel/entry.S
--- v2.1.129/linux/arch/i386/kernel/entry.S	Sun Nov  8 14:02:42 1998
+++ linux/arch/i386/kernel/entry.S	Thu Nov 19 09:53:08 1998
@@ -150,14 +150,14 @@
 	jmp ret_from_sys_call
 
 
-#ifdef __SMP__
 	ALIGN
 	.globl	ret_from_smpfork
-ret_from_smpfork:
+ret_from_fork:
 	GET_CURRENT(%ebx)
+#ifdef __SMP__
 	btrl	$0, SYMBOL_NAME(scheduler_lock)
-	jmp	ret_from_sys_call
 #endif /* __SMP__ */
+	jmp	ret_from_sys_call
 
 /*
  * Return to user mode is not as complex as all this looks,
diff -u --recursive --new-file v2.1.129/linux/arch/i386/kernel/process.c linux/arch/i386/kernel/process.c
--- v2.1.129/linux/arch/i386/kernel/process.c	Fri Oct  9 13:27:05 1998
+++ linux/arch/i386/kernel/process.c	Thu Nov 19 09:53:35 1998
@@ -50,11 +50,7 @@
 
 spinlock_t semaphore_wake_lock = SPIN_LOCK_UNLOCKED;
 
-#ifdef __SMP__
-asmlinkage void ret_from_fork(void) __asm__("ret_from_smpfork");
-#else
-asmlinkage void ret_from_fork(void) __asm__("ret_from_sys_call");
-#endif
+asmlinkage void ret_from_fork(void) __asm__("ret_from_fork");
 
 #ifdef CONFIG_APM
 extern int  apm_do_idle(void);

---------  end upfix.patch



--
echo "unsubscribe svlug" | mail majordomo at svlug.org
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ to unsubscribe
see http://www.svlug.org/mdstuff/lists.shtml for posting guidelines.



More information about the svlug mailing list