Re: >256 fd patch...

Theodore Y. Ts'o (tytso@MIT.EDU)
Sun, 23 Mar 1997 17:08:14 -0500


Date: Sat, 22 Mar 1997 13:27:11 -0800 (PST)
From: Darren Senn <sinster@scintilla.darkwater.com>

Real time applications mostly. Two reasons: it is more important
that a real time app take the same amount of time in every pass
through its innermost code than it is for the average time to be
small, and many real time os's have much less system call overhead
than Linux does (read: no context switch). Now I know that the whole
real time os thing is an old argument that's been beat to death in
the Linux community, and is a sore point with a lot of people ("Linux
isn't real time!") but my point stands: select() gets used in inner
loops.

It's true that some real time applications will want to use a polling
technique. I don't know of any real time applications which poll using
select(), though. A real time application typically runs on a real time
OS, and real time OS's generally have a better interface than select for
what you are trying to do.

Again, please name a specific, real-world application BY NAME which uses
select in a polling loop arrangement. And please then explain why any
reasonable person would want to use it under Linux. (Note that this
will peg the CPU load at one, and be a complete waste of processor time
if you intend to have any other processes running on your system.)

And if you're only going to be running one process on your system, why
don't you use DOS? If you're doing a polling arrangement where you're
handling all device I/O on the system, you don't need an operating
system, you just need a bootstrap loader (everything else is just
overhead that's competing with your polling loop). So you might as well
use MS-DOS to load your program, and be done with it.

- Ted