Re: entry.S mess with %ebx (&current pointer)

Andrea Arcangeli (andrea@e-mind.com)
Thu, 19 Nov 1998 20:22:48 +0100 (CET)


On Thu, 19 Nov 1998, Linus Torvalds wrote:

>Good debugging, but the fix is incorrect (or at least unnecessarily slow).

Of course. I posted the working fix (that looked sane to me) because it
was late I had the train pending. I was going to discover _which_ syscall
was clobbering %ebx now, one second before to read your solution ;-).

>This patch should fix it properly, please tell me whether that is true..

This allow the linking:

Index: arch/i386/kernel/entry.S
===================================================================
RCS file: /var/cvs/linux/arch/i386/kernel/entry.S,v
retrieving revision 1.1.1.1.16.3
diff -u -r1.1.1.1.16.3 entry.S
--- entry.S 1998/11/19 19:01:50 1.1.1.1.16.3
+++ entry.S 1998/11/19 19:16:33
@@ -151,7 +151,7 @@


ALIGN
- .globl ret_from_smpfork
+ .globl ret_from_fork
ret_from_fork:
GET_CURRENT(%ebx)
#ifdef __SMP__

I have not yet rebooted but it' s sure right because the stall was caused
by the new forked processes a bit before return in userspace (infact this
morning I just verifyed that the asm of sys_fork() was saving %ebx right).
If there will be problems I' ll let you know...

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/