Re: Readiness vs. completion (was: Re: Linux's implementation ofpoll()not scalable?)

From: Dan Kegel (dank@alumni.caltech.edu)
Date: Mon Oct 30 2000 - 14:18:20 EST


John Gardiner Myers wrote:
>
> Dan Kegel wrote:
> > IMHO you're describing a situation where a 'completion notification event'
> > (as with aio) would be more appropriate than a 'readiness notification event'
> > (as with poll).
>
> I've found that I want both types of events, preferably through the same
> interface.

That's good to know.

> To provide a "completion notification event" interface on
> top of an existing nonblocking interface, one needs an "async poll"
> mechanism with edge-triggered events with no event coalescing.

If you have a top-notch completion notification event interface
provided natively by the OS, though, does that get rid of the
need for the "async poll" mechanism?
 
> You are correct in recognizing NT completion ports from my description.
> While the NT completion port interface is ugly as sin, it gets a number
> of performance issues right.
>
> > And, come to think of it, network programmers usually can be categorized
> > into the same two groups :-) Each style of programming is an acquired taste.
>
> I would say that the "completion notification" style is a paradigm
> beyond the "readiness notification" style. I started with the select()
> model of network programming and have since learned the clear
> superiority of the "completion notificatin" style.

Both seem to have their place, and deserve good support, IMHO.

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



This archive was generated by hypermail 2b29 : Tue Oct 31 2000 - 21:00:28 EST