From owner-cvs-all Fri Nov 24 23:35:47 2000 Delivered-To: cvs-all@freebsd.org Received: from freefall.freebsd.org (freefall.FreeBSD.org [216.136.204.21]) by hub.freebsd.org (Postfix) with ESMTP id 9516437B4C5; Fri, 24 Nov 2000 23:35:39 -0800 (PST) Received: (from jlemon@localhost) by freefall.freebsd.org (8.9.3/8.9.2) id XAA44043; Fri, 24 Nov 2000 23:35:39 -0800 (PST) (envelope-from jlemon@FreeBSD.org) Message-Id: <200011250735.XAA44043@freefall.freebsd.org> From: Jonathan Lemon Date: Fri, 24 Nov 2000 23:35:39 -0800 (PST) To: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/dev/awi awi.c src/sys/dev/en midway.c src/sys/dev/hea eni_receive.c eni_transmit.c src/sys/dev/hfa fore_receive.c src/sys/dev/iicbus if_ic.c src/sys/dev/lmc if_lmc.c if_lmc_common.c src/sys/dev/pdq pdq_ifsubr.c src/sys/dev/ppbus ... X-FreeBSD-CVS-Branch: HEAD Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG jlemon 2000/11/24 23:35:39 PST Modified files: sys/dev/awi awi.c sys/dev/en midway.c sys/dev/hea eni_receive.c eni_transmit.c sys/dev/hfa fore_receive.c sys/dev/iicbus if_ic.c sys/dev/lmc if_lmc.c if_lmc_common.c sys/dev/pdq pdq_ifsubr.c sys/dev/ppbus if_plip.c sys/dev/usb udbp.c usb_ethersubr.c sys/i386/isa if_ar.c if_sr.c sys/i4b/driver i4b_bsdi_ibc.c i4b_ing.c i4b_ipr.c i4b_isppp.c i4b_ispppsubr.c i4b_rbch.c i4b_tel.c i4b_trace.c sys/i4b/layer1/ifpi i4b_ifpi_pci.c sys/i4b/layer1/ifpnp i4b_ifpnp_avm.c sys/i4b/layer1/ihfc i4b_ihfc_drv.c i4b_ihfc_l1if.c sys/i4b/layer1/isic i4b_bchan.c i4b_hscx.c sys/i4b/layer1/iwic i4b_iwic_bchan.c sys/i4b/layer2 i4b_l2.c i4b_mbuf.c i4b_util.c sys/i4b/layer4 i4b_i4bdrv.c sys/net bridge.c if.c if_atmsubr.c if_ef.c if_ethersubr.c if_fddisubr.c if_gif.c if_iso88025subr.c if_loop.c if_ppp.c if_sl.c if_spppsubr.c if_stf.c if_tun.c if_var.h if_vlan.c intrq.c sys/netatalk ddp_usrreq.c sys/netatm atm_device.c atm_subr.c sys/netatm/ipatm ipatm_input.c sys/netinet if_ether.c ip_auth.c ip_input.c ip_mroute.c sys/netinet6 ah_input.c esp_input.c ip6_input.c sys/netipx ipx_input.c ipx_ip.c sys/netnatm natm_proto.c sys/netns ns_input.c ns_ip.c sys/pc98/pc98 olpt.c sys/pci if_de.c if_wxvar.h Log: Lock down the network interface queues. The queue mutex must be obtained before adding/removing packets from the queue. Also, the if_obytes and if_omcasts fields should only be manipulated under protection of the mutex. IF_ENQUEUE, IF_PREPEND, and IF_DEQUEUE perform all necessary locking on the queue. An IF_LOCK macro is provided, as well as the old (mutex-less) versions of the macros in the form _IF_ENQUEUE, _IF_QFULL, for code which needs them, but their use is discouraged. Two new macros are introduced: IF_DRAIN() to drain a queue, and IF_HANDOFF, which takes care of locking/enqueue, and also statistics updating/start if necessary. Revision Changes Path 1.10 +8 -13 src/sys/dev/awi/awi.c 1.27 +14 -14 src/sys/dev/en/midway.c 1.10 +9 -11 src/sys/dev/hea/eni_receive.c 1.11 +7 -7 src/sys/dev/hea/eni_transmit.c 1.11 +3 -5 src/sys/dev/hfa/fore_receive.c 1.10 +3 -8 src/sys/dev/iicbus/if_ic.c 1.6 +15 -10 src/sys/dev/lmc/if_lmc.c 1.3 +3 -3 src/sys/dev/lmc/if_lmc_common.c 1.13 +2 -8 src/sys/dev/pdq/pdq_ifsubr.c 1.22 +11 -15 src/sys/dev/ppbus/if_plip.c 1.7 +11 -14 src/sys/dev/usb/udbp.c 1.9 +4 -14 src/sys/dev/usb/usb_ethersubr.c 1.41 +9 -4 src/sys/i386/isa/if_ar.c 1.38 +9 -4 src/sys/i386/isa/if_sr.c 1.5 +11 -14 src/sys/i4b/driver/i4b_bsdi_ibc.c 1.5 +15 -23 src/sys/i4b/driver/i4b_ing.c 1.11 +14 -38 src/sys/i4b/driver/i4b_ipr.c 1.12 +6 -3 src/sys/i4b/driver/i4b_isppp.c 1.3 +17 -48 src/sys/i4b/driver/i4b_ispppsubr.c 1.15 +12 -33 src/sys/i4b/driver/i4b_rbch.c 1.16 +18 -16 src/sys/i4b/driver/i4b_tel.c 1.13 +13 -6 src/sys/i4b/driver/i4b_trace.c 1.4 +8 -13 src/sys/i4b/layer1/ifpi/i4b_ifpi_pci.c 1.4 +8 -13 src/sys/i4b/layer1/ifpnp/i4b_ifpnp_avm.c 1.6 +7 -4 src/sys/i4b/layer1/ihfc/i4b_ihfc_drv.c 1.5 +3 -3 src/sys/i4b/layer1/ihfc/i4b_ihfc_l1if.c 1.5 +7 -5 src/sys/i4b/layer1/isic/i4b_bchan.c 1.5 +2 -9 src/sys/i4b/layer1/isic/i4b_hscx.c 1.5 +8 -13 src/sys/i4b/layer1/iwic/i4b_iwic_bchan.c 1.12 +3 -2 src/sys/i4b/layer2/i4b_l2.c 1.11 +3 -15 src/sys/i4b/layer2/i4b_mbuf.c 1.12 +2 -2 src/sys/i4b/layer2/i4b_util.c 1.16 +19 -10 src/sys/i4b/layer4/i4b_i4bdrv.c 1.28 +3 -15 src/sys/net/bridge.c 1.95 +11 -2 src/sys/net/if.c 1.13 +4 -19 src/sys/net/if_atmsubr.c 1.8 +4 -16 src/sys/net/if_ef.c 1.84 +8 -32 src/sys/net/if_ethersubr.c 1.46 +4 -26 src/sys/net/if_fddisubr.c 1.7 +5 -13 src/sys/net/if_gif.c 1.14 +6 -27 src/sys/net/if_iso88025subr.c 1.53 +10 -18 src/sys/net/if_loop.c 1.68 +48 -53 src/sys/net/if_ppp.c 1.90 +6 -14 src/sys/net/if_sl.c 1.61 +17 -54 src/sys/net/if_spppsubr.c 1.4 +5 -11 src/sys/net/if_stf.c 1.81 +7 -26 src/sys/net/if_tun.c 1.28 +99 -50 src/sys/net/if_var.h 1.19 +4 -12 src/sys/net/if_vlan.c 1.5 +3 -10 src/sys/net/intrq.c 1.19 +3 -1 src/sys/netatalk/ddp_usrreq.c 1.11 +4 -2 src/sys/netatm/atm_device.c 1.13 +3 -2 src/sys/netatm/atm_subr.c 1.8 +3 -12 src/sys/netatm/ipatm/ipatm_input.c 1.73 +13 -2 src/sys/netinet/if_ether.c 1.20 +3 -11 src/sys/netinet/ip_auth.c 1.149 +3 -5 src/sys/netinet/ip_input.c 1.61 +2 -12 src/sys/netinet/ip_mroute.c 1.6 +5 -12 src/sys/netinet6/ah_input.c 1.6 +5 -12 src/sys/netinet6/esp_input.c 1.19 +2 -1 src/sys/netinet6/ip6_input.c 1.24 +2 -1 src/sys/netipx/ipx_input.c 1.25 +3 -11 src/sys/netipx/ipx_ip.c 1.5 +3 -1 src/sys/netnatm/natm_proto.c 1.14 +2 -1 src/sys/netns/ns_input.c 1.10 +3 -12 src/sys/netns/ns_ip.c 1.13 +9 -15 src/sys/pc98/pc98/olpt.c 1.133 +9 -9 src/sys/pci/if_de.c 1.7 +5 -1 src/sys/pci/if_wxvar.h To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message