The schednetisr() routine is supposed to be MP and interrupt safe, but wasn't
authorMatthew Dillon <dillon@dragonflybsd.org>
Sun, 27 Jun 2004 19:40:14 +0000 (19:40 +0000)
committerMatthew Dillon <dillon@dragonflybsd.org>
Sun, 27 Jun 2004 19:40:14 +0000 (19:40 +0000)
commita29576fcd8d0c20866710de100e13073a50fea35
tree6896f1f93ceb4dc1b48bdc6c86afdb014229b728
parent37d440898924bcadc6ab645cd63014ccabf93027
The schednetisr() routine is supposed to be MP and interrupt safe, but wasn't
because it allocated its messages.  Instead of allocating a message use a
fixed message in the netisr structure.

Get rid of #ifdef SMP/#error.  DEVICE_POLLING now works on SMP builds.

Implement an emergency polling enable function to try to keep the system
operational in a degraded state if interrupt routing is blown.  NOTE: only
vr0 uses the feature at the moment, and DEVICE_POLLING must be enabled.
sys/kern/kern_poll.c
sys/net/if_var.h
sys/net/netisr.c
sys/net/netisr.h