Slight optimizations to entry.S patch

Alex (akhripin@mit.edu)
Thu, 20 Dec 2001 17:32:21 -0500


Hi,
I was familiarizing (or trying to) myself with the i386 architecture code,
and saw a few possible optimizations. I think they can save a few cycles (not
that many). Can someone comment? Are the changes worthwhile?
-Alex K.

--- entry.S.orig Thu Dec 20 16:57:39 2001
+++ entry.S Thu Dec 20 17:20:29 2001
@@ -91,9 +91,9 @@
pushl %edi; \
pushl %esi; \
pushl %edx; \
+ movl $(__KERNEL_DS),%edx; \
pushl %ecx; \
pushl %ebx; \
- movl $(__KERNEL_DS),%edx; \
movl %edx,%ds; \
movl %edx,%es;

@@ -141,13 +141,13 @@
movl EFLAGS(%esp),%ecx # and this is cs..
movl %eax,EFLAGS(%esp) #
movl %edx,EIP(%esp) # Now we move them to their "normal" places
- movl %ecx,CS(%esp) #
movl %esp,%ebx
+ movl %ecx,CS(%esp) #
pushl %ebx
andl $-8192,%ebx # GET_CURRENT
movl exec_domain(%ebx),%edx # Get the execution domain
- movl 4(%edx),%edx # Get the lcall7 handler for the domain
pushl $0x7
+ movl 4(%edx),%edx # Get the lcall7 handler for the domain
call *%edx
addl $4, %esp
popl %eax
@@ -162,13 +162,13 @@
movl EFLAGS(%esp),%ecx # and this is cs..
movl %eax,EFLAGS(%esp) #
movl %edx,EIP(%esp) # Now we move them to their "normal" places
- movl %ecx,CS(%esp) #
movl %esp,%ebx
+ movl %ecx,CS(%esp) #
pushl %ebx
andl $-8192,%ebx # GET_CURRENT
movl exec_domain(%ebx),%edx # Get the execution domain
- movl 4(%edx),%edx # Get the lcall7 handler for the domain
pushl $0x27
+ movl 4(%edx),%edx # Get the lcall7 handler for the domain
call *%edx
addl $4, %esp
popl %eax
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/