Remove a broken optimization found by the new pool_chk code.  It
leaves an empty page in curpage, and this inconsistency slowly spreads
until finally one of the other pool checks freaks out.

This is only likely to occur if you are running into PR_WANTED frequently.
In my case, I was constantly running at the pool's hard limit.

Index: kern/subr_pool.c
===================================================================
RCS file: /cvs/src/sys/kern/subr_pool.c,v
retrieving revision 1.105
diff -u -p -r1.105 subr_pool.c
--- kern/subr_pool.c    5 Jul 2011 16:36:15 -0000       1.105
+++ kern/subr_pool.c    5 Jul 2011 16:37:10 -0000
@@ -783,10 +783,7 @@ pool_do_put(struct pool *pp, void *v)
 
        if (pp->pr_flags & PR_WANTED) {
                pp->pr_flags &= ~PR_WANTED;
-               if (ph->ph_nmissing == 0)
-                       pp->pr_nidle++;
                wakeup(pp);
-               return;
        }
 
        /*

Reply via email to