3 ms·
There are some problems with that that have arisen due to the long disuse of the other privilege levels: 1. The fast methods for system calls (syscall/sysret/s
by johncolanduoni 10y ago
There are some problems with that that have arisen due to the long disuse of the other privilege levels:
1. The fast methods for system calls (syscall/sysret/sysenter/sysleave) completely ignore these privilege levels and can only perform transitions between 0 and 3. That means you have to use interrupts which are slow, and may be even slower than 0/3 interrupt transitions because the processors aren't used to dealing with them.
2. You can't make much use of them for x86_64 programs, since these disable segment based protection and the x86_64 page tables (you guessed it) only have a single bit to select privilege level of a page. Somebody that remembers the Intel manuals better can hopefully inform us if you can use them in x86 compatibility mode under a 64-bit kernel, but I'm going to guess you'll have some wrinkles here.
I would be very surprised if these two issues don't kill any performance gains you would get from avoiding the recompilation step.
- bonzini 10y agoAll x86 page tables have a single bit for page tables, not just 64-bit ones.