Messages in this thread Patch in this message | | | Date | Mon, 23 Dec 2002 20:10:14 -0800 (PST) | From | Linus Torvalds <> | Subject | Re: 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/
| |