[back to list and adding Jack to Cc] On Thu, Oct 25, 2012 at 10:06:40AM +0200, R?mi Pauchet wrote: R> I'm testing network performance of FreeBSD using vmware esxi 5.1 with SR-IOV R> R> I'm using FreeBSD 8.3 kernel GENERIC, 4 cpus, ixgbevf driver with an Intel 82599EB dual 10 Gbps network interface R> R> After a few seconds of udp ipv4 load (5Gbps x2, frame size 700), I have the following panic :
Remi reported that attached patch fixes the panic. Looks like ixv_rxeof() isn't thread safe since doesn't expect its state being changed while lock is temporarily dropped. This is deja vu of an old problem in em(4): http://freshbsd.org/commit/freebsd/r151314 Similar fix can be made for ixgbe(4). However, recently we had discussion on removing this unlock entirely from drivers. Unlock/lock removal would not only fix such kind of problems, but also would speed up processing. Discussion starts here: http://lists.freebsd.org/pipermail/freebsd-net/2012-October/033520.html -- Totus tuus, Glebius.
Index: ixv.c =================================================================== --- ixv.c (revision 242127) +++ ixv.c (working copy) @@ -3250,9 +3250,7 @@ if (tcp_lro_rx(&rxr->lro, m, 0) == 0) return; } - IXV_RX_UNLOCK(rxr); (*ifp->if_input)(ifp, m); - IXV_RX_LOCK(rxr); } static __inline void
_______________________________________________ freebsd-net@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-net To unsubscribe, send any mail to "freebsd-net-unsubscr...@freebsd.org"