On Wed, Jul 13, 2005 at 12:51:53PM +0100, Robert Watson wrote: > It looks like if_xl is not properly acquiring Giant when entering the > network stack when running with debug.mpsafenet=0. It should be calling > NET_LOCK_GIANT() in the task queue before calling if_input(). Gleb Smirnoff provided me with this patch which I am testing now. Things seem better...... Index: if_xl.c =================================================================== RCS file: /home/ncvs/src/sys/pci/if_xl.c,v retrieving revision 1.190 diff -u -r1.190 if_xl.c --- if_xl.c 10 Jun 2005 16:49:23 -0000 1.190 +++ if_xl.c 13 Jul 2005 13:27:36 -0000 _at__at_ -2100,9 +2100,11 _at__at_ { struct xl_softc *sc = (struct xl_softc *)arg; + NET_LOCK_GIANT(); XL_LOCK(sc); xl_rxeof(sc); XL_UNLOCK(sc); + NET_UNLOCK_GIANT(); } /* -- Craig Rodrigues rodrigc_at_crodrigues.orgReceived on Wed Jul 13 2005 - 13:47:01 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:38:38 UTC