Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 16 Sep 1999 09:50:49 -0700
From:      "Jayson Nordwick" <nordwick@scam.xcf.berkeley.edu>
To:        Christopher Sedore <cmsedore@mailbox.syr.edu>
Cc:        Alfred Perlstein <bright@wintelcom.net>, freebsd-hackers@FreeBSD.ORG
Subject:   Re: High Performance I/O (more)
Message-ID:  <19990916165049.348.qmail@scam.xcf.berkeley.edu>
In-Reply-To: Your message of "Thu, 16 Sep 1999 07:33:41 EDT." <Pine.SOL.4.10.9909160720220.1042-100000@rodan.syr.edu>

next in thread | previous in thread | raw e-mail | index | archive | help
>Events could also (I haven't thought this out, so please forgive me if
>there's an obvious bugaboo here) return additional information about the
>descriptor/whatever.  One nice possibility would be outgoing buffer space
>on sockets.  This may or may not be worth the coding effort.  
>

First, If you are using POSIX real time signals, you can get extra
information by using sigwaitinfo().

In a somewhat nonportable fashion, the Linux people (Stephen Tweedie, in
particular) added two things: (1) An fcntl() value called F_SETSIG that
delivers a real time signal whenever data to the file descriptor is ready
for read or write, (2) when the signal is delivered the si_band of the
signal is filled in with the poll() values.

>If implemented in a multiprocessor aware manner, events could also allow
>for more parallelism that we have now.  
>

Two of the strong benefits of asynchronous I/O over the nonblocking/select()
is that (1) there is no context switch to send the data, since the kernle
takes care (as opposed to the select() philosophy of the program taking
care of it) and (2) if you are running on an MP machine, the kernel can be
using one processor to take care of asynchronous data while the application
uses the other.

>-Chris
>

-jason



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?19990916165049.348.qmail>