Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 16 Nov 2004 00:18:37 -0700 (MST)
From:      "M. Warner Losh" <imp@bsdimp.com>
To:        alex.wilkinson@dsto.defence.gov.au
Cc:        usb@freebsd.org
Subject:   Re: FAST Interrupt patch for usb
Message-ID:  <20041116.001837.08405046.imp@bsdimp.com>
In-Reply-To: <20041116065801.GG58198@squash.dsto.defence.gov.au>
References:  <20041112.083950.81797260.imp@bsdimp.com> <20041116065801.GG58198@squash.dsto.defence.gov.au>

next in thread | previous in thread | raw e-mail | index | archive | help
In message: <20041116065801.GG58198@squash.dsto.defence.gov.au>
            "Wilkinson, Alex" <alex.wilkinson@dsto.defence.gov.au> writes:
: Warner, for the sake of others reading the archives and myself, can you
: please give us all a quick summary of what the diff is between "fast" and
: "soft" interrupts ?

First, the patch just make the interrupts MPSAFE.  This means that
they can be called w/o giant being held.  A FAST interrupt has further
restirtions which this patch doesn't quite meet (but could with a
little work).  A normal interrupt MPSAFE or not is scheduled to run
and all the ISRs for that interrupt get called.  A soft interrupt,
also referred to as a SWI sometimes, is a way for the interrupt
handler to be lightweight and have it defer processing of the data a
little so that other ISRs can run with less latency.  A soft interrupt
basically runs when there are no hardware interrupts to service, but
higher in priority than kernel or user threads.

The above is only an approximate flavor of the different terms.

Warner



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