Messages in this thread | | | Date | Mon, 22 Aug 2011 16:40:51 +0200 | From | Borislav Petkov <> | Subject | Re: [uml-devel] SYSCALL, ptrace and syscall restart breakages (Re: [RFC] weird crap with vdso on uml/i386) |
| |
On Mon, Aug 22, 2011 at 09:34:27AM -0400, Andrew Lutomirski wrote: > On Mon, Aug 22, 2011 at 5:53 AM, Ingo Molnar <mingo@kernel.org> wrote: > > > > * H. Peter Anvin <hpa@zytor.com> wrote: > > > >> Borislav, > >> > >> We're tracking down an issue with the way system call arguments are > >> handled on 32 bits. We have a solution for SYSENTER but not > >> SYSCALL; fixing SYSCALL "properly" appears to be very difficult at > >> best. > >> > >> So the question is: how much overhead would it be to simply fall > >> back to int $0x80 or some other legacy-style domain crossing > >> instruction for 32-bit system calls on AMD64 processors? We don't > >> ever use SYSCALL in legacy mode, so native i386 kernels are > >> unaffected. > > > > Last i measured INT80 and SYSCALL costs they were pretty close to > > each other on AMD CPUs - closer than on Intel. > > From memory, SYSCALL in 64-bit mode on Sandy Bridge is much faster > than int 0xcc, which is presumably about the same speed as int 0x80. > That's because SYSCALL is blazingly fast (<30 ns for a whole system > call) and int is slower.
Just to make sure I'm grokking this correctly - we want to use int $0x80 only for the SYSCALL variant in __kernel_vsyscall, right? Not for all 32-bit syscalls on a 64-bit kernel.
Thanks.
-- Regards/Gruss, Boris.
Advanced Micro Devices GmbH Einsteinring 24, 85609 Dornach GM: Alberto Bozzo Reg: Dornach, Landkreis Muenchen HRB Nr. 43632 WEEE Registernr: 129 19551 -- 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/
| |