MFC r270666   Back in the days when the kernel was single threaded, testing   "vm_paging_target() > 0" was a reasonable way of determining if the   inactive queue scan met its target.  However, now that other threads   can be allocating pages while the inactive queue scan is running, it's   an unreliable method.  The effect of it being unreliable is that we   can start swapping out processes when we didn't intend to.
MFC r270666
  Back in the days when the kernel was single threaded, testing
  "vm_paging_target() > 0" was a reasonable way of determining if the
  inactive queue scan met its target.  However, now that other threads
  can be allocating pages while the inactive queue scan is running, it's
  an unreliable method.  The effect of it being unreliable is that we
  can start swapping out processes when we didn't intend to.

  This issue has existed since the kernel was multithreaded, but the
  changes to the inactive queue target in 10.0-RELEASE have made its
  effects visible.

  This change introduces a more direct method for determining if the
  inactive queue scan met its target that is not affected by the actions
  of other threads.

jrobhoward/SCADAbase,jrobhoward/SCADAbase,jrobhoward/SCADAbase,jrobhoward/SCADAbase,jrobhoward/SCADAbase,jrobhoward/SCADAbase,jrobhoward/SCADAbase,jrobhoward/SCADAbase,jrobhoward/SCADAbase,jrobhoward/SCADAbase,jrobhoward/SCADAbase