From owner-freebsd-arch Tue Jan 23 12:13:36 2001 Delivered-To: freebsd-arch@freebsd.org Received: from pike.osd.bsdi.com (unknown [204.216.28.222]) by hub.freebsd.org (Postfix) with ESMTP id 1AF4037B404 for ; Tue, 23 Jan 2001 12:13:19 -0800 (PST) Received: from foo.osd.bsdi.com (root@foo.osd.bsdi.com [204.216.28.137]) by pike.osd.bsdi.com (8.11.1/8.9.3) with ESMTP id f0NKCgx57770; Tue, 23 Jan 2001 12:12:42 -0800 (PST) (envelope-from jhb@foo.osd.bsdi.com) Received: (from jhb@localhost) by foo.osd.bsdi.com (8.11.1/8.11.1) id f0NKCIt27427; Tue, 23 Jan 2001 12:12:18 -0800 (PST) (envelope-from jhb) Message-ID: X-Mailer: XFMail 1.4.0 on FreeBSD X-Priority: 3 (Normal) Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 8bit MIME-Version: 1.0 In-Reply-To: <20010123120604.Y26076@fw.wintelcom.net> Date: Tue, 23 Jan 2001 12:12:18 -0800 (PST) Organization: BSD, Inc. From: John Baldwin To: Alfred Perlstein Subject: Re: Second zone allocator patch Cc: arch@FreeBSD.ORG, Bosko Milekic Sender: owner-freebsd-arch@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG On 23-Jan-01 Alfred Perlstein wrote: > * John Baldwin [010123 11:53] wrote: >> >> On 23-Jan-01 Bosko Milekic wrote: >> >> hardware interrupt handler blocking and stalling other interrups, >> >> Jake and I have toyed with the notion of creating a new kthread >> >> to run the other handlers when an ithread blocks on a mutex, so >> >> that the other handlers wouldn't be broken. For hardware >> >> interrupts, this would require a refcount on the intrhand >> >> "interrupt source" so that the interrupt can be re-enabled when >> >> the refcount hits 0. However, this is only in conceptual stage >> >> right now, and as an optimizaation, is a bit down the priority >> >> list. >> > >> > Icky. I would have thought that there would have been an >> > alternative way >> > to solving this. But let's wait until we're ready. >> >> No more icky than light weight ithread switches. Much less, in >> fact. > > afaik, most software interrupts are basically there to process > queues. Rewrite the code to use a taskqueue(9) then. :) And then have the software interrupt handler manage your worker thread pool. That is an orthogonal problem to hanging multiple handlers off an interrupt thread and wanting one handler blocking to not result in all handlers blocking. -- John Baldwin -- http://www.FreeBSD.org/~jhb/ PGP Key: http://www.Baldwin.cx/~john/pgpkey.asc "Power Users Use the Power to Serve!" - http://www.FreeBSD.org/ To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-arch" in the body of the message