kernel - Address excessive stall in pageout during deadlock avoidance
* The pageout daemon uses LK_TIMELOCK to avoid deadlocking on a vnode
that might be held locked during a pfault, which waits up to 1/10 of
a second.
If the vnode has a large number of pageable pages each page may go
through the timeout. This can result in the pageout daemon stalling
for an excessive amount of time.
Reduce instances of the problem by remembering the last vnode which
failed its timelock and using LK_NOWAIT for later pages. A single
vnode is remembered for now.
Reported-by: Francois Tigeot <ftigeot@wolfpond.org>