]> CyberLeo.Net >> Repos - FreeBSD/stable/10.git/commit
MFC r286260:
authorloos <loos@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Mon, 17 Aug 2015 19:06:14 +0000 (19:06 +0000)
committerloos <loos@ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f>
Mon, 17 Aug 2015 19:06:14 +0000 (19:06 +0000)
commit73995701a7446670b1a5f515825b0e74d1e8cb1e
tree4cad47b92a39c7611e37f20abb376f06bd3e0341
parentef8d9d8d61ecd8bd207732a2973e6fd752d528fa
MFC r286260:
  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 manipulate 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
  Sponsored by: Rubicon Communications (Netgate)

git-svn-id: svn://svn.freebsd.org/base/stable/10@286859 ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
sys/net/bpf.c