Don Lewis ad9f180121 Back out the removal of LK_NOWAIT from the VOP_LOCK() call in
vlrureclaim() in vfs_subr.c 1.636  because waiting for the vnode
lock aggravates an existing race condition.  It is also undesirable
according to the commit log for 1.631.

Fix the tiny race condition that remains by rechecking the vnode
state after grabbing the vnode lock and grabbing the vnode interlock.

Fix the problem of other threads being starved (which 1.636 attempted
to fix by removing LK_NOWAIT) by calling uio_yield() periodically
in vlrureclaim().  This should be more deterministic than hoping
that VOP_LOCK() without LK_NOWAIT will block, which may not happen
in this loop.

Reviewed by:	kan
MFC after:	5 days
2005-08-23 03:44:06 +00:00
..
2005-07-08 15:06:58 +00:00
2005-06-30 19:01:26 +00:00
2005-08-19 22:30:13 +00:00
2005-04-12 05:45:58 +00:00
2005-03-26 20:04:28 +00:00
2005-05-06 02:50:00 +00:00
2005-03-14 06:51:29 +00:00
2005-07-08 15:06:58 +00:00