kernel - fix bug when issuing synchronous pageouts via contigmalloc.
authorMatthew Dillon <dillon@apollo.backplane.com>
Tue, 15 Sep 2009 19:16:00 +0000 (12:16 -0700)
committerMatthew Dillon <dillon@apollo.backplane.com>
Tue, 15 Sep 2009 19:16:00 +0000 (12:16 -0700)
commit8aa92e4b0821ec13857ac1de972838f7956a5ded
tree029f3ad1e59b0ca46314e8eb28f8fb01b5336ded
parent1557ef280d373c3c8ffef36bbecd9ca637bc9a91
kernel - fix bug when issuing synchronous pageouts via contigmalloc.

* There are multiple mis-checks in this code but the only path that
  causes the bug is if contigmalloc is forced to page data out, and
  that generally only occurs due to the USB subsystem.

* The bug causes relpbuf() to be called with the wrong argument,
  ultimately causing the swap pbuf availability counter to hit 0 and
  stay there.

* Fixes a umass insertion failure (the usb thread was locking up).
sys/vm/swap_pager.c