freebsd-nq/sys/net
Luiz Otavio O Souza 9224217213 Remove the mtx_sleep() from the kqueue f_event filter.
The filter is called from the network hot path and must not sleep.

The filter runs with the descriptor lock held and does not manipulates the
buffers, so it is not necessary sleep when the hold buffer is in use.

Just ignore the hold buffer contents when it is being copied to user space
(when hold buffer in use is set).

This fix the "Sleeping thread owns a non-sleepable lock" panic when the
userland thread is too busy reading the packets from bpf(4).

PR:		200323
MFC after:	2 weeks
Sponsored by:	Rubicon Communications (Netgate)
2015-08-03 22:14:45 +00:00
..
altq Another attempt to make this compile on more architectures after r284777. 2015-06-25 23:16:01 +00:00
bpf_buffer.c Remove the sleep from the buffer allocation routine. 2015-07-31 20:25:54 +00:00
bpf_buffer.h
bpf_filter.c
bpf_jitter.c
bpf_jitter.h
bpf_zerocopy.c
bpf_zerocopy.h
bpf.c Remove the mtx_sleep() from the kqueue f_event filter. 2015-08-03 22:14:45 +00:00
bpf.h Remove two unnecessary sleeps from the hot path in bpf(4). 2015-07-31 21:43:27 +00:00
bpfdesc.h
bridgestp.c
bridgestp.h
ethernet.h
fddi.h
firewire.h
flowtable.c
flowtable.h
ieee8023ad_lacp.c
ieee8023ad_lacp.h
ieee_oui.h
if_arc.h
if_arcsubr.c
if_arp.h
if_atm.h
if_atmsubr.c
if_bridge.c Fix panic when adding vtnet interfaces to a bridge 2015-06-13 19:39:21 +00:00
if_bridgevar.h
if_clone.c
if_clone.h
if_dead.c
if_debug.c
if_disc.c
if_dl.h
if_edsc.c
if_enc.c
if_enc.h
if_epair.c
if_ethersubr.c Huge cleanup of random(4) code. 2015-06-30 17:00:45 +00:00
if_fddisubr.c
if_fwsubr.c
if_gif.c Eliminate the use of m_copydata() in gif_encapcheck(). 2015-07-29 14:07:43 +00:00
if_gif.h Add an ability accept encapsulated packets from different sources by one 2015-05-15 12:19:45 +00:00
if_gre.c Add new socket ioctls SIOC[SG]TUNFIB to set FIB number of encapsulated 2015-05-12 07:37:27 +00:00
if_gre.h
if_iso88025subr.c
if_lagg.c
if_lagg.h
if_llatbl.c
if_llatbl.h
if_llc.h
if_loop.c Fix if_loop so bpfwrite() can use it regardless of the state of 2015-07-06 02:12:49 +00:00
if_me.c Add new socket ioctls SIOC[SG]TUNFIB to set FIB number of encapsulated 2015-05-12 07:37:27 +00:00
if_media.c Make IFMEDIA_DEBUG a kernel option. 2015-04-21 10:35:23 +00:00
if_media.h
if_mib.c
if_mib.h
if_pflog.h
if_pfsync.h
if_sppp.h
if_spppfr.c
if_spppsubr.c Convert in_ifaddr_lock and in6_ifaddr_lock to rmlock. 2015-07-29 08:12:05 +00:00
if_stf.c Ansify if_stf.c 2015-07-31 09:04:22 +00:00
if_tap.c
if_tap.h
if_tapvar.h
if_tun.c * Address review (and add a bit myself). 2015-07-12 18:14:38 +00:00
if_tun.h
if_types.h After r281643 an #ifdef IFT_FOO preprocessor directive returns false, 2015-05-02 20:37:40 +00:00
if_var.h Move ALTQ from contrib to net/altq. The ALTQ code is for many years 2015-04-16 20:22:40 +00:00
if_vlan_var.h
if_vlan.c Don't propagate SIOCSIFCAPS from a vlan(4) to its parent. This leads to 2015-04-23 13:19:00 +00:00
if_vxlan.c
if_vxlan.h
if.c Prevent null-pointer dereferencing. 2015-07-20 08:21:51 +00:00
if.h
ifq.h Move ALTQ from contrib to net/altq. The ALTQ code is for many years 2015-04-16 20:22:40 +00:00
iso88025.h
netisr_internal.h
netisr.c Currently there is no easy way to specify net.isr.maxthreads = all cpus. We need 2015-04-25 16:12:06 +00:00
netisr.h
netmap_user.h Sync netmap sources with the version in our private tree. 2015-07-10 05:51:36 +00:00
netmap.h Sync netmap sources with the version in our private tree. 2015-07-10 05:51:36 +00:00
paravirt.h
pfil.c
pfil.h
pfkeyv2.h looks like all archs either have clang or cdefs included before.. 2015-08-02 21:33:40 +00:00
pfvar.h Minor change to the macros to make sure that if an AF is passed that is neither AF_INET6 nor AF_INET that we don't touch random bits of memory. 2015-04-15 14:46:45 +00:00
ppp_defs.h
radix_mpath.c
radix_mpath.h
radix.c Follow r256586 and rename the kernel version of the Free() macro to 2015-07-30 02:09:03 +00:00
radix.h Follow r256586 and rename the kernel version of the Free() macro to 2015-07-30 02:09:03 +00:00
raw_cb.c
raw_cb.h
raw_usrreq.c
route.c Follow r256586 and rename the kernel version of the Free() macro to 2015-07-30 02:09:03 +00:00
route.h
rss_config.c
rss_config.h
rtsock.c
sff8436.h * Update SFF-8024 Identifier constants. 2015-05-16 13:11:35 +00:00
sff8472.h * Update SFF-8024 Identifier constants. 2015-05-16 13:11:35 +00:00
slcompress.c
slcompress.h
toeplitz.c
toeplitz.h
vnet.c
vnet.h