Messages in this thread | | | Subject | Re: Max tcp connections | Date | Fri, 12 Nov 1999 01:40:02 +0000 (GMT) | From | Alan Cox <> |
| |
> 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/
| |