Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id ; Tue, 18 Jun 2002 17:12:01 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id ; Tue, 18 Jun 2002 17:12:00 -0400 Received: from to-velocet.redhat.com ([216.138.202.10]:19193 "EHLO touchme.toronto.redhat.com") by vger.kernel.org with ESMTP id ; Tue, 18 Jun 2002 17:11:59 -0400 Date: Tue, 18 Jun 2002 17:12:00 -0400 From: Benjamin LaHaise To: Linus Torvalds Cc: Rusty Russell , Robert Love , Linux Kernel Mailing List Subject: Re: latest linus-2.5 BK broken Message-ID: <20020618171200.G16091@redhat.com> References: Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5.1i In-Reply-To: ; from torvalds@transmeta.com on Tue, Jun 18, 2002 at 01:41:12PM -0700 Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1514 Lines: 31 On Tue, Jun 18, 2002 at 01:41:12PM -0700, Linus Torvalds wrote: > That wasn't so hard, was it? > > Besides, we've had this interface for about 15 years, and it's called > "select()". It scales fine to thousands of descriptors, and we're talking > about something that is a hell of a lot less timing-critical than select > ever was. I take issue with the statement that select scales fine to thousands of file descriptors. It doesn't. For fairly trivial workloads it degrades to 0 operations per second with more than a few dozen filedescriptors in the array, but only one descriptor being active. To sustain decent throughput, select needs something like 50% of the filedescriptors in an array to be active at every select() call, which makes in unsuitable for things like LDAP servers, or HTTP/FTP where the clients are behind slow connections or interactive (like in the real world). I've benchmarked it -- we should really include something like /dev/epoll in the kernel to improve this case. Still, I think the bitmap approach in this case is useful, as having affinity to multiple CPUs can be needed, and it is not a frequently occuring operation (unlike select()). -ben -- "You will be reincarnated as a toad; and you will be much happier." - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/