Re: > 15,000 Simultaneous Connections

Steve Underwood (steveu@netpage.com.hk)
Mon, 06 Sep 1999 12:22:18 +0000


Mike Jagdis wrote:

> On Mon, 6 Sep 1999, Steve Underwood wrote:
>
> [various stuff, and then]

> > I think the sane scheme would be a call like select, but with separate request and
> > response lists. It would probably drop the exception option, since it is nearly
> > useless anyway. It might (just might) add further selection lists akin to the other
> > options in poll.
>
> The main cost of select and poll, on the kernel side, is scanning
> the fds to see what is ready. The way select and poll are usually
> used we want a means to express an interest in an fd and then
> receive a stream of "events" as fds change state.

Let me check exactly what you are suggesting.

I register a list of fds, with the type of activity I want to know about, with the kernel.
I then perform some type of "tell me what's ready" call, including a timeout, and get a
list of ready fds, and what they are ready for (or a timeout, of course). At any time, as
fds come and go or write activities start and stop, I can send updates to the kernel
before (or possibly with) the next "tell me what's ready" call. Considering the frequency
with which writes come and go from the list, an fd list update supplied with the "tell me
what's ready" call probably has real efficiency benefits.

Have I got the idea? If so I like it. It seems to be exactly what 99% of select/poll users
are after, and munge select or poll to achieve. If it works out to be efficient in the
kernel, its certainly nice on the user side and sounds like a fine idea.

Steve

-
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/