From owner-freebsd-hackers Mon Dec 22 09:32:09 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.7/8.8.7) id JAA08546 for hackers-outgoing; Mon, 22 Dec 1997 09:32:09 -0800 (PST) (envelope-from owner-freebsd-hackers) Received: from acroal.com (firewall0.acroal.com [209.24.61.154]) by hub.freebsd.org (8.8.7/8.8.7) with ESMTP id JAA08486 for ; Mon, 22 Dec 1997 09:31:58 -0800 (PST) (envelope-from jamil@acroal.com) Received: from localhost (jamil@localhost) by acroal.com (8.8.8/8.8.7) with SMTP id JAA03319; Mon, 22 Dec 1997 09:31:41 -0800 (PST) (envelope-from jamil@acroal.com) Date: Mon, 22 Dec 1997 09:31:41 -0800 (PST) From: "J. Weatherbee - Senior Systems Architect" To: Mike Smith cc: hackers@FreeBSD.ORG Subject: Re: Am I off my rocker? (/dev/tick device) In-Reply-To: <199712220950.UAA00717@word.smith.net.au> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-hackers@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk > > 2) On the vectorized i/o, think about processes multiplexing > > with say 1000 - 2000 descriptors. > > So? Async I/O is *more* efficient, not less. It is not an issue of asynchronous versus synchronous i/o. As in both cases you are still going to need to use a select() or poll() call (in the signal handler). Rather, it is an issue of going through the call gate x number of times, in the case of a large number of descriptors. And aside from that (mikey) signals are expensive to catch [Leffler et al. 1989] (Check Richard Stevens, Unix Network Programming, 1990, p. 328.