lkml.org 
[lkml]   [2002]   [Dec]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: Intel P6 vs P7 system call performance


On Tue, 24 Dec 2002, Stephen Rothwell wrote:
>
> And if you change the 0x00 use for alighment to 0x90 (nop) you can
> use gdb to disassemble that array of bytes to check any changes ...

Yeah, and I really should align the _normal_ return address (and not the
restart address).

Something like the appended, perhaps?

Linus

===== arch/i386/kernel/entry.S 1.45 vs edited =====
--- 1.45/arch/i386/kernel/entry.S Wed Dec 18 14:42:17 2002
+++ edited/arch/i386/kernel/entry.S Mon Dec 23 20:02:10 2002
@@ -233,7 +233,7 @@
#endif

/* Points to after the "sysenter" instruction in the vsyscall page */
-#define SYSENTER_RETURN 0xffffe00a
+#define SYSENTER_RETURN 0xffffe010

# sysenter call handler stub
ALIGN
===== arch/i386/kernel/sysenter.c 1.5 vs edited =====
--- 1.5/arch/i386/kernel/sysenter.c Sun Dec 22 21:12:23 2002
+++ edited/arch/i386/kernel/sysenter.c Mon Dec 23 20:04:33 2002
@@ -57,12 +57,17 @@
0x51, /* push %ecx */
0x52, /* push %edx */
0x55, /* push %ebp */
+ /* 3: backjump target */
0x89, 0xe5, /* movl %esp,%ebp */
0x0f, 0x34, /* sysenter */
- 0x00, /* align return point */
- /* System call restart point is here! (SYSENTER_RETURN - 2) */
- 0xeb, 0xfa, /* jmp to "movl %esp,%ebp" */
- /* System call normal return point is here! (SYSENTER_RETURN in entry.S) */
+
+ /* 7: align return point with nop's to make disassembly easier */
+ 0x90, 0x90, 0x90, 0x90,
+ 0x90, 0x90, 0x90,
+
+ /* 14: System call restart point is here! (SYSENTER_RETURN - 2) */
+ 0xeb, 0xf3, /* jmp to "movl %esp,%ebp" */
+ /* 16: System call normal return point is here! (SYSENTER_RETURN in entry.S) */
0x5d, /* pop %ebp */
0x5a, /* pop %edx */
0x59, /* pop %ecx */
-
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/

\
 
 \ /
  Last update: 2005-03-22 13:31    [W:0.483 / U:0.152 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site