From owner-freebsd-threads@FreeBSD.ORG Tue Jul 15 03:58:17 2003 Return-Path: Delivered-To: freebsd-threads@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id CC88A37B401 for ; Tue, 15 Jul 2003 03:58:17 -0700 (PDT) Received: from silver.he.iki.fi (silver.he.iki.fi [193.64.42.241]) by mx1.FreeBSD.org (Postfix) with ESMTP id 86A3643F3F for ; Tue, 15 Jul 2003 03:58:16 -0700 (PDT) (envelope-from pete@he.iki.fi) Received: from PETEX31 (h81.vuokselantie10.fi [193.64.42.129]) by silver.he.iki.fi (8.12.9/8.11.4) with SMTP id h6FAw4sL095123; Tue, 15 Jul 2003 13:58:05 +0300 (EEST) (envelope-from pete@he.iki.fi) Message-ID: <04fa01c34abf$f672e640$812a40c1@PETEX31> From: "Petri Helenius" To: "Terry Lambert" References: <007601c3467b$5f20e960$020aa8c0@aims.private> <004d01c348ae$583084f0$812a40c1@PETEX31> <3F12EF5A.71249E4D@mindspring.com> <16146.65087.69689.594109@emerger.yogotech.com> <3F13B1B4.8765B8F3@mindspring.com> <049201c34aab$9361d070$812a40c1@PETEX31> <3F13D8EC.8899DA42@mindspring.com> Date: Tue, 15 Jul 2003 13:58:01 +0300 MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 8bit X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 6.00.2800.1158 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2800.1165 cc: Nate Williams cc: Chris Knight cc: 'Kai Mosebach' cc: freebsd-threads@freebsd.org Subject: Re: LinuxThreads replacement X-BeenThere: freebsd-threads@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Threading on FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 15 Jul 2003 10:58:18 -0000 >The general answer is "kqueue is your friend". 8-). >One thing that is very helpful to do is to seperate out the flags >and hint arguments to KNOTE(), and then pass the user void argument >through to the knote() code. Doing this is very handy, besides >enabling you to raise maxproc higher than the point where it >collides with the hints bits, I mean. My large fd_set argument was actually targeted towards user space processes using existing interfaces. Where the viable options seem to have large select´s and do work based by spinning the descriptor set or have a thread block on the read on the descriptor. Pete