From 72360ebb8e6378002b99b7d37452110a63ff1d26 Mon Sep 17 00:00:00 2001 From: rwatson Date: Mon, 31 Dec 2007 20:58:50 +0000 Subject: [PATCH] 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 --- sys/net/netisr.h | 21 ++++++++------------- 1 file changed, 8 insertions(+), 13 deletions(-) diff --git a/sys/net/netisr.h b/sys/net/netisr.h index 9ba3e8d4a65..1fb411ce34e 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 -- 2.45.0