Re: Max tcp connections

Alan Cox (alan@lxorguk.ukuu.org.uk)
Fri, 12 Nov 1999 01:40:02 +0000 (GMT)


> The normal path is waiting, but the path that matters under load is not
> waiting. Which is more important -- how little CPU you can use when you
> aren't under load or how much load you can take?

Latency and overall performance says the common one. Especially as adding
to a wait queue is very very cheap

> At least, as soon as the first fd shows that it's ready for I/O, take us
> off all the wait queues and stop putting us on them. But please stop blaming
> the poll API for an implementation problem that is _not_ inherent in the
> API.

That seems to violateSuS. It has to report the state of all fd's. The
API is the problem.

> > Signal based I/O is definitely the right approach for scaling
> I still find this very hard to believe. How can one fast pass through poll
> (assuming a smarter implementation) be less efficient than the OS sending me
> 5,000 signals? That strikes me as an incredible claim.

Benchmark it. Or for that matter just apply common sense. A signal
delivery is O(1) with the number of events not O(N) (n=fdcount). A signal
has wake one properties too.

People have tried this model. It works. VMS AST's are very similar in concept.

Alan

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/