diff options
author | rwatson <rwatson@FreeBSD.org> | 2007-12-31 20:58:50 +0000 |
---|---|---|
committer | rwatson <rwatson@FreeBSD.org> | 2007-12-31 20:58:50 +0000 |
commit | 72360ebb8e6378002b99b7d37452110a63ff1d26 (patch) | |
tree | 717325fe44ab27fccf8ca5815f22f821f549e61e | |
parent | d317da326ddd6d0aeca6e73ebd902d7fc0365d6b (diff) | |
download | FreeBSD-src-72360ebb8e6378002b99b7d37452110a63ff1d26.zip FreeBSD-src-72360ebb8e6378002b99b7d37452110a63ff1d26.tar.gz |
Update netisr comment for the SMPng world order: netisr is no longer
implemented using the ISR facility, and cannot be triggered by calling
splnet()/splx().
MFC after: 3 weeks
-rw-r--r-- | sys/net/netisr.h | 21 |
1 files changed, 8 insertions, 13 deletions
diff --git a/sys/net/netisr.h b/sys/net/netisr.h index 9ba3e8d..1fb411c 100644 --- a/sys/net/netisr.h +++ b/sys/net/netisr.h @@ -34,19 +34,15 @@ #define _NET_NETISR_H_ /* - * The networking code runs off software interrupts. + * The netisr (network interrupt service routine) provides a deferred + * execution evironment in which (generally inbound) network processing can + * take place. Protocols register handlers and, optionally, packet queues; + * when packets are delivered to the queue, the protocol handler will be + * executed directly, or via deferred dispatch depending on the + * circumstances. * - * You can switch into the network by doing splnet() and return by splx(). - * The software interrupt level for the network is higher than the software - * level for the clock (so you can enter the network in routines called - * at timeout time). - */ - -/* - * Each ``pup-level-1'' input queue has a bit in a ``netisr'' status - * word which is used to de-multiplex a single software - * interrupt used for scheduling the network code to calls - * on the lowest level routine of each protocol. + * Historically, this was implemented by the BSD software ISR facility; it is + * now implemented via a software ithread (SWI). */ #define NETISR_POLL 0 /* polling callback, must be first */ #define NETISR_IP 2 /* same as AF_INET */ @@ -64,7 +60,6 @@ #define NETISR_NETGRAPH 30 #define NETISR_POLLMORE 31 /* polling callback, must be last */ - #ifndef LOCORE #ifdef _KERNEL |