I'm trying to understand the difference between "old" syscall mechanism using interrupt and the current one relying on specific processor instruction.
AFAIK both are working in the same way in terms of C program: ie a kernel C function gets called and then a dispatch to the correct syscall handler is made. Then, what is it that makes the "new" syscall system more effecient?
Is it just due to more efficient processor instructions that make calling "syscall" faster than an "interrupt" ? Is this difference in time enough to be significant compared to the amount of work the syscall itself has to do (ie writing to file) ?