Retire the INTR_FAST flag as it was obsoleted by the introduction of the
filter argument to bus_setup_intr().
This commit is contained in:
parent
212dfb3236
commit
49fe354a54
@ -85,9 +85,8 @@ marks the interrupt as being a good source of entropy -
|
||||
this may be used by the entropy device
|
||||
.Pa /dev/random .
|
||||
.Pp
|
||||
To define a time-critical handler (previously known as
|
||||
.Dv INTR_FAST )
|
||||
that will not execute any potentially blocking operation, use the
|
||||
To define a time-critical handler that will not execute any potentially
|
||||
blocking operation, use the
|
||||
.Fa filter
|
||||
argument.
|
||||
See the
|
||||
@ -128,10 +127,7 @@ will no longer be called.
|
||||
.Pp
|
||||
Mutexes are not allowed to be held across calls to these functions.
|
||||
.Ss "Filter Routines"
|
||||
A filter runs in a context very similar to what was known as an
|
||||
.Dv INTR_FAST
|
||||
routine in previous versions of
|
||||
.Fx .
|
||||
A filter runs in primary interrupt context.
|
||||
In this context, normal mutexes cannot be used.
|
||||
Only the spin lock version of these can be used (specified by passing
|
||||
.Dv MTX_SPIN
|
||||
|
@ -180,15 +180,6 @@ The
|
||||
flag specifies that this handler cannot share an interrupt thread with
|
||||
another handler.
|
||||
The
|
||||
.Dv INTR_FAST
|
||||
flag specifies that when this handler is executed, it should be run immediately
|
||||
rather than being run asynchronously when its interrupt thread is scheduled to
|
||||
run.
|
||||
The
|
||||
.Dv INTR_FAST
|
||||
flag implies
|
||||
.Dv INTR_EXCL .
|
||||
The
|
||||
.Dv INTR_MPSAFE
|
||||
flag specifies that this handler is MP safe in that it does not need the
|
||||
Giant mutex to be held while it is executed.
|
||||
@ -198,10 +189,8 @@ flag specifies that the interrupt source this handler is tied to is a good
|
||||
source of entropy, and thus that entropy should be gathered when an interrupt
|
||||
from the handler's source triggers.
|
||||
Presently, the
|
||||
.Dv INTR_FAST
|
||||
and
|
||||
.Dv INTR_ENTROPY
|
||||
flags are not valid for software interrupt handlers.
|
||||
flag is not valid for software interrupt handlers.
|
||||
.Pp
|
||||
It is not permitted to sleep in an interrupt thread; hence, any memory
|
||||
or zone allocations in an interrupt thread should be specified with the
|
||||
@ -237,7 +226,7 @@ swi_add(struct ithd **ithdp, const char *name, driver_intr_t handler,
|
||||
struct ithd *ithd;
|
||||
int error;
|
||||
|
||||
if (flags & (INTR_FAST | INTR_ENTROPY))
|
||||
if (flags & INTR_ENTROPY)
|
||||
return (EINVAL);
|
||||
|
||||
ithd = (ithdp != NULL) ? *ithdp : NULL;
|
||||
|
@ -128,9 +128,7 @@ Mutexes which do not context switch are
|
||||
mutexes.
|
||||
These should only be used to protect data shared with primary interrupt
|
||||
code.
|
||||
This includes
|
||||
.Dv INTR_FAST
|
||||
interrupt handlers and low level scheduling code.
|
||||
This includes interrupt filters and low level scheduling code.
|
||||
In all architectures both acquiring and releasing of a
|
||||
uncontested spin mutex is more expensive than the same operation
|
||||
on a non-spin mutex.
|
||||
|
@ -179,10 +179,8 @@ MIB variable
|
||||
.It Bq Er EINVAL
|
||||
The
|
||||
.Fa flags
|
||||
argument specifies either
|
||||
.Dv INTR_ENTROPY
|
||||
or
|
||||
.Dv INTR_FAST .
|
||||
argument specifies
|
||||
.Dv INTR_ENTROPY .
|
||||
.It Bq Er EINVAL
|
||||
The
|
||||
.Fa ithdp
|
||||
|
@ -191,7 +191,6 @@ enum intr_type {
|
||||
INTR_TYPE_MISC = 16,
|
||||
INTR_TYPE_CLK = 32,
|
||||
INTR_TYPE_AV = 64,
|
||||
INTR_FAST = 128,
|
||||
INTR_EXCL = 256, /* exclusive interrupt */
|
||||
INTR_MPSAFE = 512, /* this interrupt is SMP safe */
|
||||
INTR_ENTROPY = 1024, /* this interrupt provides entropy */
|
||||
|
Loading…
Reference in New Issue
Block a user