freebsd-dev/sys/net
Stephen Hurd aa8a24d37f Allow iflib NIC drivers to sleep rather than busy wait
Since the move to SMP NIC driver locking has had to go through serious
contortions using mtx around long running hardware operations. This moves
iflib past that.

Individual drivers may now sleep when appropriate.

Submitted by:	Matthew Macy <mmacy@mattmacy.io>
Reviewed by:	shurd
Sponsored by:	Limelight Networks
Differential Revision:	https://reviews.freebsd.org/D14983
2018-05-03 17:02:31 +00:00
..
altq kernel: Fix several typos and minor errors 2017-12-27 03:23:21 +00:00
bpf_buffer.c sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
bpf_buffer.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
bpf_filter.c sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
bpf_jitter.c sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
bpf_jitter.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
bpf_zerocopy.c sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
bpf_zerocopy.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
bpf.c Use dead_bpf_if instead of bp_null. 2018-04-24 17:42:25 +00:00
bpf.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
bpfdesc.h Make BPF global lock an SX 2018-04-10 19:42:50 +00:00
bridgestp.c sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
bridgestp.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
dlt.h MFV r313759: license change for a few headers (4 clause BSD to 3 clause BSD). 2017-02-15 07:22:47 +00:00
ethernet.h Allow to specify PCP on packets not belonging to any VLAN. 2018-03-27 15:29:32 +00:00
firewire.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ieee8023ad_lacp.c Added missing CTLFLAG_VNET to lacp default_strict_mode 2018-01-24 10:13:14 +00:00
ieee8023ad_lacp.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
ieee_oui.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
if_arp.h Remove support for the Arcnet protocol. 2018-04-13 21:18:04 +00:00
if_bridge.c Remove support for FDDI networks. 2018-04-11 17:28:24 +00:00
if_bridgevar.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
if_clone.c Do not pass NULL pointer to copyout in if_clone_list. 2017-12-23 16:45:24 +00:00
if_clone.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
if_dead.c sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
if_debug.c sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
if_disc.c sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
if_dl.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
if_edsc.c sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
if_enc.c netpfil: Introduce PFIL_FWD flag 2018-03-23 16:56:44 +00:00
if_enc.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
if_epair.c sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
if_ethersubr.c Add network device event for priority code point, PCP, changes. 2018-04-26 08:58:27 +00:00
if_fwsubr.c Improve copy-and-pasted versions of SIOCGIFADDR. 2018-03-27 20:51:49 +00:00
if_gif.c Use an accessor function to access ifr_data. 2018-03-30 18:50:13 +00:00
if_gif.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
if_gre.c Use an accessor function to access ifr_data. 2018-03-30 18:50:13 +00:00
if_gre.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
if_ipsec.c Use an accessor function to access ifr_data. 2018-03-30 18:50:13 +00:00
if_ipsec.h Merge projects/ipsec into head/. 2017-02-06 08:49:57 +00:00
if_lagg.c Disabled the use of flowid for lagg by default 2018-01-04 20:05:47 +00:00
if_lagg.h Remove some code, dead from the day one. 2017-05-25 23:19:09 +00:00
if_llatbl.c sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
if_llatbl.h Fix outgoing TCP/UDP packet drop on arp/ndp entry expiration. 2018-03-17 17:05:48 +00:00
if_llc.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
if_loop.c sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
if_me.c Do not adjust interface MTU automatically. Leave this task to the system 2017-04-11 08:56:18 +00:00
if_media.c Finish removing FDDI and tokenring media support. 2018-04-23 21:10:33 +00:00
if_media.h Finish removing FDDI and tokenring media support. 2018-04-23 21:10:33 +00:00
if_mib.c
if_mib.h
if_pflog.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
if_pfsync.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
if_sppp.h
if_spppfr.c
if_spppsubr.c Use an accessor function to access ifr_data. 2018-03-30 18:50:13 +00:00
if_stf.c sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
if_tap.c Move most of the contents of opt_compat.h to opt_global.h. 2018-04-06 17:35:35 +00:00
if_tap.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
if_tapvar.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
if_tun.c Disallow TUN and TAP character device IOCTLs to modify the network device 2017-11-29 09:40:11 +00:00
if_tun.h Allow an MTU of 65535 bytes to be set via TUN[SG]IFINFO. This requires 2016-05-24 11:47:14 +00:00
if_types.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
if_var.h Add network device event for priority code point, PCP, changes. 2018-04-26 08:58:27 +00:00
if_vlan_var.h Allow to specify PCP on packets not belonging to any VLAN. 2018-03-27 15:29:32 +00:00
if_vlan.c Add network device event for priority code point, PCP, changes. 2018-04-26 08:58:27 +00:00
if_vxlan.c Add macro for vxlan list mutex lock and unlock 2017-12-30 19:49:40 +00:00
if_vxlan.h Add support for IPv6 scoped addresses to vxlan 2017-12-30 04:03:53 +00:00
if.c Separate list manipulation locking from state change in multicast 2018-05-02 19:36:29 +00:00
if.h Add 32-bit compat for ioctls that take struct ifgroupreq. 2018-04-05 22:14:55 +00:00
ifdi_if.m Update Matthew Macy contact info 2017-12-19 17:59:00 +00:00
iflib.c Allow iflib NIC drivers to sleep rather than busy wait 2018-05-03 17:02:31 +00:00
iflib.h Allow iflib NIC drivers to sleep rather than busy wait 2018-05-03 17:02:31 +00:00
ifq.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
mp_ring.c Have ifmp_ring_enqueue() abdicate instead of switch to a consumer 2017-09-23 16:46:30 +00:00
mp_ring.h Import the 'iflib' API library for network drivers. From the author: 2016-05-18 04:35:58 +00:00
mppc.h ng_mppc(4): Bring netgraph(3) MPPC compression support. 2016-06-07 15:07:00 +00:00
mppcc.c ng_mppc(4):: basic readability cleanups. 2016-07-09 02:33:45 +00:00
mppcd.c ng_mppc(4):: basic readability cleanups. 2016-07-09 02:33:45 +00:00
netisr_internal.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
netisr.c sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
netisr.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
netmap_legacy.h netmap: align codebase to the current upstream (commit id 3fb001303718146) 2018-04-12 07:20:50 +00:00
netmap_user.h netmap: align codebase to the current upstream (commit id 3fb001303718146) 2018-04-12 07:20:50 +00:00
netmap_virt.h netmap: align codebase to the current upstream (commit id 3fb001303718146) 2018-04-12 07:20:50 +00:00
netmap.h netmap: align codebase to the current upstream (commit id 3fb001303718146) 2018-04-12 07:20:50 +00:00
paravirt.h
pfil.c netpfil: Introduce PFIL_FWD flag 2018-03-23 16:56:44 +00:00
pfil.h netpfil: Introduce PFIL_FWD flag 2018-03-23 16:56:44 +00:00
pfkeyv2.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
pfvar.h pf: Improve ioctl validation for DIOCRGETTABLES, DIOCRGETTSTATS, DIOCRCLRTSTATS and DIOCRSETTFLAGS 2018-04-06 15:54:30 +00:00
ppp_defs.h
radix_mpath.c sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
radix_mpath.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
radix.c sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
radix.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
raw_cb.c sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
raw_cb.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
raw_usrreq.c sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
rndis.h rndis: Add LINK_SPEED_CHANGE status 2017-07-24 03:59:50 +00:00
route_var.h Renumber copyright clause 4 2017-02-28 23:42:47 +00:00
route.c Increment the route table gen count after a modify 2018-01-23 03:15:44 +00:00
route.h Reduce code duplication for inpcb route caching 2018-01-23 03:15:39 +00:00
rss_config.c rss: Remove never defined UDP_IPV4_EX 2017-10-11 06:08:01 +00:00
rss_config.h rss: Remove never defined UDP_IPV4_EX 2017-10-11 06:08:01 +00:00
rtsock.c Move most of the contents of opt_compat.h to opt_global.h. 2018-04-06 17:35:35 +00:00
sff8436.h
sff8472.h ifconfig(8): Display extended compliance code string for SFP transceivers 2017-12-05 18:42:07 +00:00
slcompress.c sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
slcompress.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
toeplitz.c
toeplitz.h
vnet.c sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
vnet.h sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00