3 ms·
On microkernels the issue is usually not with syscall performance but with essentially every operation causing a task switch which on i386 causes TLB flush (whi
by dfox 7y ago
On microkernels the issue is usually not with syscall performance but with essentially every operation causing a task switch which on i386 causes TLB flush (which in post-Spectre days seems somewhat moot) and in many cases involves interacting with task scheduler.
(QNX uses interesting hack to sidestep this: the message passing interface does not really pass messages, but is simply cross-addressspace call/return that in essence temporarily moves a thread to different process without rescheduling anything)