this post was submitted on 01 May 2025
62 points (98.4% liked)

Linux

7164 readers
502 users here now

A community for everything relating to the GNU/Linux operating system

Also check out:

Original icon base courtesy of lewing@isc.tamu.edu and The GIMP

founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] MadhuGururajan@programming.dev 5 points 3 days ago (1 children)

The gist is that a system call is introduced to go into the PCB and change the Effective UID of a process. Security is ensured by a processor MPK which is a CPU provided guard so that a {Process, Library} has only a restricted set of Effective UIDs it can switch to. This operations is supposed to use 30 to 50 clock cycles. So entry + exit is supposed to be done in 100 cycles. This is considered low overhead context switch compared to the traditional context switch on Linux for slower IPCs. They don't do a comparison against iouring, or simply multi-threaded process.

[–] treadful@lemmy.zip 5 points 3 days ago (1 children)

You sound like you're living in the weeds, friend.

What's MPK? And by UID I assume you're not talking about the system level user ID but some kind of processor-level process ID?

I don't know the details of the MPK. So I consider it as some kind of function that maps {process PID, DLL} => Set of UID. And by UID, I AM talking about the system level user ID. Remember that this feature is a processor level feature. So it has to be transparent to the OS (well at least, to the OS Scheduler). Hence the output of this feature should be understandable to the OS kernel. Or so I hope as the implementation details are vague till now.