On Sat, 29 Sep 2001, Peter Jay Salzman wrote: > i came across an article 'low latency in the linux kernel' written for > o'reilly's website. here's a quote i find curious: > > under certain circumstance, it may be possible to run an application > in a condition known as setuid root. as the name implies, this > condition sets the user's ID to root status, raising the application's > execution to real-time scheduling. > > this is NOT my understanding of setuid root executables. if this were the > case, nice-ing a setuid executable would be meaningless since the application > would get the attention of the kernel whenever it wants attention. > also, there would be no need for 'real time linux' since running an app as > setuid root would imply real time scheduling. >
I agree with you; I'm suspicious of O'Reilly's quote there. "Real-time" is not a synonym for "really fast"; it has a very specific meaning, and it's rather non-trivial to implement. In a real-time OS, processes are guaranteed to finish by a predefined interval. The Linux kernel doesn't implement that[1]--if memory serves, it uses several levels of priorities (so kernel-space stuff gets priority over user-space stuff) and round-robin within priority levels. It's possible (though I find it unlikely) that a setuid root program runs in the kernel-space priority queue, but even that isn't enough for true real-time scheduling. Real-time is a guarantee, not a vague implication of higher priority. --nicole twn [1] Though you can of course hack it to do so; q.f. RTLinux. *** "The personal computer market is about the same size as the total potato chip market. Next year it will be about half the size of the pet food market and it is fast approaching the total worldwide sales of pantyhose."--James Finke, president of Commodore, 1982 Visit Nicolopolis! http://wwwcsif.cs.ucdavis.edu/~carlsonn [EMAIL PROTECTED] [EMAIL PROTECTED] [EMAIL PROTECTED]
