kernel - Do not spam all cpus for ipfrag_slowtimo()
authorMatthew Dillon <dillon@apollo.backplane.com>
Mon, 11 Jul 2016 19:19:20 +0000 (12:19 -0700)
committerMatthew Dillon <dillon@apollo.backplane.com>
Tue, 12 Jul 2016 15:21:33 +0000 (08:21 -0700)
commit87ff894ba1f87110e19b0fe0312d39a88bc250bd
treee918c978a3fbff62e5b0c42ddb334c92d1ffd5ed
parent0c01fa5453c9e7af9e7777f6aea94e972c5b580d
kernel - Do not spam all cpus for ipfrag_slowtimo()

* Only issue the ipfrag_slowtimo() to cpus with non-empty ip fragment
  queues.  This will not impact performance but significantly reduces
  unnecessary IPIs to idle cpus.  It makes for better systat -pv 1
  eye-candy.

* Only allow one ipfrag timeout IPI to be in-flight to any particular target
  cpu.  This will not impact performance but may help reduce degenerate
  ipiq-full conditions if the target cpu becomes cpu-bound in a critical
  section.
sys/netinet/ip_input.c