What is better “int 0x80” or “syscall”?
I study the Linux Kernel and found out that for x86_64 architecture the interrupt int 0x80 doesn't work as calling for system call. The question is: in case of x86 architecture what is more preferable syscall or int 0x80 and why? EDIT : I use the kernel 3.4 syscall is default way of entering kernel mode on x86-64 . This instruction is not available in 32 bit modes of operation on Intel processors . sysenter is an instruction most frequently used to invoke system calls in 32 bit modes of operation. It is similar to syscall , a bit more difficult to use though, but that is kernel's concern. int