kernel - Change namecache negative caching algorithm
* Use desiredvnodes instead of numcache (current number of namecache
entries) to scale the number of negative cache entries.
This allows for more negative cache entries and no longer has
degenerate situations when the value of numcache is low.
* namecache entries are still cleaned up in the critical namecache
paths, but vnlru() now also cleans up the namecache when it exceeds
80% of its nominal maximum. The result is that the namecache is
kept under better control AND the cleanups are generally able to be
handled by vnlru() and do not effect the critical paths.
* Huge improvement in poudriere during concurrent python easy_install
execution. The python easy_install performs horribly without sufficient
negative caching. This fixes that.
Reported-by: thesjg