From owner-cvs-sys Sat Feb 15 23:21:47 1997 Return-Path: Received: (from root@localhost) by freefall.freebsd.org (8.8.5/8.8.5) id XAA17720 for cvs-sys-outgoing; Sat, 15 Feb 1997 23:21:47 -0800 (PST) Received: from sovcom.kiae.su (sovcom.kiae.su [193.125.152.1]) by freefall.freebsd.org (8.8.5/8.8.5) with SMTP id XAA17715; Sat, 15 Feb 1997 23:21:39 -0800 (PST) Received: by sovcom.kiae.su id AA25499 (5.65.kiae-1 ); Sun, 16 Feb 1997 10:09:46 +0300 Received: by sovcom.KIAE.su (UUMAIL/2.0); Sun, 16 Feb 97 10:09:46 +0300 Received: (from ache@localhost) by nagual.ru (8.8.5/8.8.5) id KAA00650; Sun, 16 Feb 1997 10:09:31 +0300 (MSK) Date: Sun, 16 Feb 1997 10:09:27 +0300 (MSK) From: =?KOI8-R?B?4c7E0sXKIP7F0s7P1w==?= To: Bruce Evans Cc: cvs-all@freefall.freebsd.org, CVS-committers@freefall.freebsd.org, cvs-sys@freefall.freebsd.org Subject: Re: cvs commit: src/sys/sys types.h In-Reply-To: <199702160334.OAA05142@godzilla.zeta.org.au> Message-Id: Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-cvs-sys@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk On Sun, 16 Feb 1997, Bruce Evans wrote: > Please back it out. The kernel is not read for this. It always rounds up > to a multiple of FD_SETSIZE bits. This will clobber old applications. While I back it out, it seems that the kernel illegally use FD_SETSIZE now for rounding up, this process not related directly to FD_SETSIZE. What about adding in sys_generic.c something like #define FD_ROUNDSIZE 256 and use it instead of FD_SETSIZE for rounding? In this way existen apps will work. > It also bzeros a multiple of 6 * FDSETSIZE bits. This will take a > fairly long time with a large FD_SETSIZE. It already takes too long. > All this is because select() is specified to handle `struct fd_set's. > The kernel handles whole objects. This problem fixes too by using FD_ROUNDSIZE instead of FD_SETSIZE. I.e. only roundup2(nfd, 256) bits will be zeroed. I plan to fix sys_generic.c, any objections? -- Andrey A. Chernov http://www.nagual.ru/~ache/