Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 17 Jul 2000 11:08:18 -0700
From:      Jack Rusher <jar@integratus.com>
To:        Joe Eykholt <jre@iprg.nokia.com>
Cc:        Steve Passe <smp@csn.net>, Greg Lehey <grog@lemis.com>, arch@FreeBSD.ORG, smp@FreeBSD.ORG
Subject:   Re: Tidying up the interrupt registration process
Message-ID:  <39734B92.E2B3B6CE@integratus.com>
References:  <200007171553.JAA24715@Ilsa.StevesCafe.com> <39733CBB.7147BA74@iprg.nokia.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Joe Eykholt wrote:
> 
> Just one more thing to consider:  its pretty nice when using a serial
> console to be able to break into the debugger even when at splhigh(),
> and the FAST_INTR setup allows this.  If serial interrupts were
> threads, then this probably wouldn't be possible.
> 
> Solaris 2.5 (and probably the more recent versions also) uses the
> equivalent of fast interrupts for serial also.

  Solaris (up to 2.8) has fifteen interrupt levels, laid out like this:

1-9: "low" interrupts that are handled by kernel threads
10: "clock" interrupt, which (until 2.8) was used for the clock
11-15: "high" interrupts

...the low interrupts are general device interrupts (SCSI, frame buffer,
etc), while the high set are for the serial devices.

  The low set are all handled by a 1/1 thread/interrupt scheme.  Each
CPU has a set of 9 interrupt threads waiting around to do the dirty
work.  This allows multiple CPUs to share the processing burden
associated with device I/O.

  There is one system wide clock thread (until 2.8).

  The high set are handled in the context of the currently running
thread, using the shortest code path they can manage.

  They did this because of the same overflow/console debugging issues
that are currently being discussed here.

-- 
Jack Rusher, Senior Engineer | mailto:jar@integratus.com
Integratus, Inc.             | http://www.integratus.com


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?39734B92.E2B3B6CE>