From mboxrd@z Thu Jan 1 00:00:00 1970 From: afiskon@devzen.ru (Aleksander Alekseev) Date: Sun, 17 Jul 2016 18:14:24 +0300 Subject: Different ways of doing a system call Message-ID: <20160717181424.24e59554@fujitsu> To: kernelnewbies@lists.kernelnewbies.org List-Id: kernelnewbies.lists.kernelnewbies.org Hello Recently I've explored different ways of doing a system call on Linux (only on x86 and x64 architectures). Here is what I discovered so far: * int 0x80 (x86, slow) * sysenter (x86, fast) * vsyscall (x86, deprecated) * VDSO trampoline (x86, fast) * syscall (x64, fast) Tell me, please: * Didn't I miss anything? * What are _recommended_ ways of doing a system call on x86 and x64? * I just wanted to clarify - in theory it's OK to use both say int 0x80 and syscall in the same ELF64 binary? Wouldn't it cause a program to crash or something? -- Best regards, Aleksander Alekseev