Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 20 Jun 2002 19:35:05 +0900
From:      Seigo Tanimura <tanimura@r.dl.itc.u-tokyo.ac.jp>
To:        arch@FreeBSD.org
Cc:        Seigo Tanimura <tanimura@r.dl.itc.u-tokyo.ac.jp>
Subject:   multiple threads for interrupts
Message-ID:  <200206201035.g5KAZ53i029301@rina.r.dl.itc.u-tokyo.ac.jp>

next in thread | raw e-mail | index | archive | help
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

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 <tanimura@r.dl.itc.u-tokyo.ac.jp> <tanimura@FreeBSD.org>

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-arch" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200206201035.g5KAZ53i029301>