 - Allow vnlru to drop giant if the filesystem does not require it.  The    vnlru proc is extremely inefficient, potentially iteration over tens of    thousands of vnodes without blocking.  Droping Giant allows other threads    to preempt us although we should revisit the algorithm to fix the runtime    problems especially since this may hold up all vnode allocations.  - Remove the LK_NOWAIT from the VOP_LOCK in vlrureclaim.  This provides    a natural blocking point to help alleviate the situation described above    although it may not technically be desirable.  - yield after we make a pass on all mount points to prevent us from    blocking other threads which require Giant.
 - Allow vnlru to drop giant if the filesystem does not require it.  The
   vnlru proc is extremely inefficient, potentially iteration over tens of
   thousands of vnodes without blocking.  Droping Giant allows other threads
   to preempt us although we should revisit the algorithm to fix the runtime
   problems especially since this may hold up all vnode allocations.
 - Remove the LK_NOWAIT from the VOP_LOCK in vlrureclaim.  This provides
   a natural blocking point to help alleviate the situation described above
   although it may not technically be desirable.
 - yield after we make a pass on all mount points to prevent us from
   blocking other threads which require Giant.

MFC after:	2 weeks

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