From owner-freebsd-arch Thu Jun 20 6:15:34 2002 Delivered-To: freebsd-arch@freebsd.org Received: from tesla.distributel.net (nat.MTL.distributel.NET [66.38.181.24]) by hub.freebsd.org (Postfix) with ESMTP id EFE2637B409 for ; Thu, 20 Jun 2002 06:15:27 -0700 (PDT) Received: (from bmilekic@localhost) by tesla.distributel.net (8.11.6/8.11.6) id g5KDCxF21531; Thu, 20 Jun 2002 09:12:59 -0400 (EDT) (envelope-from bmilekic@unixdaemons.com) Date: Thu, 20 Jun 2002 09:12:59 -0400 From: Bosko Milekic To: Seigo Tanimura Cc: arch@FreeBSD.ORG Subject: Re: multiple threads for interrupts Message-ID: <20020620091259.A21509@unixdaemons.com> References: <200206201035.g5KAZ53i029301@rina.r.dl.itc.u-tokyo.ac.jp> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.2.5.1i In-Reply-To: <200206201035.g5KAZ53i029301@rina.r.dl.itc.u-tokyo.ac.jp>; from tanimura@r.dl.itc.u-tokyo.ac.jp on Thu, Jun 20, 2002 at 07:35:05PM +0900 Sender: owner-freebsd-arch@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG On Thu, Jun 20, 2002 at 07:35:05PM +0900, Seigo Tanimura wrote: > At the moment, each interrupt type (hardware and swi) has only one > kernel thread to handle interrupts. This can be a potential > bottleneck in an SMP host because virtually only up to one processor > can handle interrupts. > > One solution is to run multiple threads for each of the interrupt > types. Since I noticed this issue first during my work of network > locking, I have been tweaking the swi subsystem so that it runs > multiple threads for an swi type. For those who are interested, the > patch can be found at: > > http://people.FreeBSD.org/~tanimura/patches/swipool.diff.gz This looks very interesting. However, I'm unsure as to whether spinning off another thread as opposed to just setting the need bit and letting the original thread re-service is actually a better idea. It would be interesting to keep this code around and see what happens with performance. Perhaps we will observe that it is only better in the software interrupt case, or vice-versa. > While I worked on only swis, hardware interrupts should suffer from > the same issue as well. Thus it would be better to tweak the general > interrupt mechanism rather than only the swi subsystem. I will see > how that works in the next few days. > > Comments and flames are welcome. Thanks a lot. > > -- > Seigo Tanimura Regards, -- Bosko Milekic bmilekic@unixdaemons.com bmilekic@FreeBSD.org To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-arch" in the body of the message