kernel - Fix swapcache inefficiency related to the PQ_INACTIVE queue
* The swapcache was still coded with the assumption of just one
PQ_INACTIVE queue. Even though it scans all 256 queues the
end-of-queue code could trigger early and prevent later queue
indices from being scanned, causing a large percentage of eligible
VM pages to not get written to the swapcache.
Now all queues must signal that they have reached the end before the
code sets the end-of-queue condition and loops up to the 1/10 second
sleep.
* The full count/scount was being applied to each queue individually instead
of to all queues uniformly, allowing more pages to be laundered than
desired. Divide out and add a bit of slop.