From owner-kaio@oss.sgi.com Mon Jun 5 07:51:43 2000 Received: by oss.sgi.com id ; Mon, 5 Jun 2000 07:51:30 -0700 Received: from adsl-63-198-73-118.dsl.lsan03.pacbell.net ([63.198.73.118]:14610 "EHLO turing.xman.org") by oss.sgi.com with ESMTP id ; Mon, 5 Jun 2000 07:41:56 -0700 Received: from scherbius.xman.org (scherbius.philstone.com [192.168.1.7]) by turing.xman.org (8.9.3/8.9.3) with ESMTP id KAA01576 for ; Sun, 4 Jun 2000 10:58:14 -0700 Received: by scherbius.xman.org (Postfix, from userid 502) id 1BDAD2FC10; Sun, 4 Jun 2000 11:57:40 -0700 (PDT) Date: Sun, 4 Jun 2000 11:57:40 -0700 From: Christopher Smith To: KAIO mailing list Subject: What happened to the web site? Message-ID: <20000604115739.B1155@xman.org> Mail-Followup-To: Christopher Smith , KAIO mailing list Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2i Comment: I can't believe you're actually reading mail headers. Sender: owner-kaio@oss.sgi.com Precedence: bulk Return-Path: X-Orcpt: rfc822;kaio-outgoing Hmm... I'm having problems accessing the KAIO web page, and it doesn't seem to be due to Internet problems. I get back zero sized replies from the web server. Anyone know what the problem is? --Chris From owner-kaio@oss.sgi.com Wed Jun 14 15:10:49 2000 Received: by oss.sgi.com id ; Wed, 14 Jun 2000 15:10:30 -0700 Received: from adsl-63-198-73-118.dsl.lsan03.pacbell.net ([63.198.73.118]:1797 "EHLO turing.xman.org") by oss.sgi.com with ESMTP id ; Wed, 14 Jun 2000 15:10:04 -0700 Received: (from cbsmith@localhost) by turing.xman.org (8.9.3/8.9.3) id OAA14516 for kaio@oss.sgi.com; Wed, 14 Jun 2000 14:09:31 -0700 Date: Wed, 14 Jun 2000 14:09:30 -0700 From: Christopher Smith To: KAIO mailing list Subject: Suggestion... Message-ID: <20000614140930.C13662@xman.org> Mail-Followup-To: Christopher Smith , KAIO mailing list Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2i Comment: I can't believe you're actually reading mail headers. Sender: owner-kaio@oss.sgi.com Precedence: bulk Return-Path: X-Orcpt: rfc822;kaio-outgoing For those of us doing pthreads development it'd be nice if the KAIO patch could be merged with the shared signal queue patches: http://www.rhdv.cistron.nl/sigqueue.html Anyone want to pick up the mantle? --Chris From owner-kaio@oss.sgi.com Thu Jun 15 15:40:15 2000 Received: by oss.sgi.com id ; Thu, 15 Jun 2000 15:40:05 -0700 Received: from newsfeed.sx.nec.com ([143.102.60.7]:1801 "HELO cuda.sx.nec.com") by oss.sgi.com with SMTP id ; Thu, 15 Jun 2000 15:39:50 -0700 Received: (qmail 14326 invoked from network); 15 Jun 2000 22:36:59 -0000 Received: from snoopy.sx.nec.com (HELO ludusdesign.com) (143.102.60.42) by cuda.sx.nec.com with SMTP; 15 Jun 2000 22:36:59 -0000 Message-ID: <39495BF3.B0C618C5@ludusdesign.com> Date: Thu, 15 Jun 2000 18:42:59 -0400 From: Pierre Phaneuf Organization: Ludus Design X-Mailer: Mozilla 4.72 [en] (X11; U; Linux 2.2.14-5.0 i586) X-Accept-Language: en MIME-Version: 1.0 To: kaio@oss.sgi.com Subject: quick question Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-kaio@oss.sgi.com Precedence: bulk Return-Path: X-Orcpt: rfc822;kaio-outgoing How does POSIX AIO differs from using O_NONBLOCK and the regular open/read/write API? Any pointers to Fine Manuals are welcome! Please CC the answer to me, since I am not on the mailing list, thank you! -- Pierre Phaneuf Systems Exorcist From owner-kaio@oss.sgi.com Thu Jun 15 23:04:08 2000 Received: by oss.sgi.com id ; Thu, 15 Jun 2000 23:03:49 -0700 Received: from cr573363-a.crdva1.bc.wave.home.com ([24.113.15.225]:18443 "EHLO arnie.meyles.com") by oss.sgi.com with ESMTP id ; Thu, 15 Jun 2000 23:03:19 -0700 Received: from meyles.com (IDENT:smeyles@tiger.meyles.com [192.168.2.2]) by arnie.meyles.com (8.9.3/8.8.7) with ESMTP id XAA16933; Thu, 15 Jun 2000 23:03:22 -0700 Message-ID: <3949C1A4.A0824CCD@meyles.com> Date: Thu, 15 Jun 2000 22:56:52 -0700 From: Stephen Meyles Organization: Meyles Consulting Corporation X-Mailer: Mozilla 4.72 [en] (X11; U; Linux 2.2.14 i586) X-Accept-Language: en MIME-Version: 1.0 To: kaio@oss.sgi.com CC: Pierre Phaneuf Subject: Re: quick question References: <39495BF3.B0C618C5@ludusdesign.com> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-kaio@oss.sgi.com Precedence: bulk Return-Path: X-Orcpt: rfc822;kaio-outgoing Hi Pierre, They are definitely distinct models. All forms of the regular read/write in Linux are synchronous in nature whereas the AIO interface is asynchronous. Unix Network Programming Vol 1 by Stevens presents a decent explanation of the difference between these models although he does not actually detail the asynchronous model. O'Reilly's Posix 4 Programming is said to have a good intro to the asynchronous model although I can't claim to have read it myself. I commonly use an analogy to explain the difference between the two models. Imagine you need to buy some donuts from a bakery: Synchronous model (=read/write+O_NONBLOCK) ========================================== You phone bakery and ask if the donuts have arrived yet. If not, you phone again later. You repeat this until the bakery tells you the donuts are in. Now that you know the donuts have arrived, you must still go to the bakery, place your order and pay before receiving the goods. Note that even though you phoned earlier and were told that the donuts were in, the bakery could sell out before you get there. Asynchronous model (AIO) ======================== You phone the bakery, give them your credit card number and place your order. The bakery phones you when they have your order ready for pickup. As you can see, in the synchronous model, the I/O request is not actually successfully submitted to the system until after notification (repeated reads or a select/poll call more typically). Also, the information returned by calls such as select may not be accurate by the time you actually issue the I/O request (socket closes before you can issue a write for example). With the asynchronous model, the I/O request is submitted once, and notification is issued only upon completion (or failure). With this model you spend no time blocked in system calls. Additionally, a proper asynchronous I/O system can apply intelligence in servicing the outstanding requests (merging contiguous disk requests for example). The cost associated with this model is complexity. Each request must carry its own contextual information. Regards, Stephen Meyles Pierre Phaneuf wrote: > > How does POSIX AIO differs from using O_NONBLOCK and the regular > open/read/write API? Any pointers to Fine Manuals are welcome! > > Please CC the answer to me, since I am not on the mailing list, thank > you! > > -- > Pierre Phaneuf > Systems Exorcist