[BACK]Return to subr_pool.c CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / src / sys / kern

Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.

Diff for /src/sys/kern/subr_pool.c between version 1.89 and 1.90

version 1.89, 2003/12/29 16:04:58 version 1.90, 2004/01/09 19:00:16
Line 937  pool_do_put(struct pool *pp, void *v)
Line 937  pool_do_put(struct pool *pp, void *v)
          * If this page is now empty, do one of two things:           * If this page is now empty, do one of two things:
          *           *
          *      (1) If we have more pages than the page high water mark,           *      (1) If we have more pages than the page high water mark,
          *          free the page back to the system.           *          or if we are flagged as immediately freeing back idle
            *          pages, free the page back to the system.  ONLY CONSIDER
            *          FREEING BACK A PAGE IF WE HAVE MORE THAN OUR MINIMUM PAGE
            *          CLAIM.
          *           *
          *      (2) Otherwise, move the page to the empty page list.           *      (2) Otherwise, move the page to the empty page list.
          *           *
Line 946  pool_do_put(struct pool *pp, void *v)
Line 949  pool_do_put(struct pool *pp, void *v)
          */           */
         if (ph->ph_nmissing == 0) {          if (ph->ph_nmissing == 0) {
                 pp->pr_nidle++;                  pp->pr_nidle++;
                 if (pp->pr_npages > pp->pr_maxpages ||                  if (pp->pr_npages > pp->pr_minpages &&
                     (pp->pr_alloc->pa_flags & PA_WANT) != 0) {                      (pp->pr_npages > pp->pr_maxpages ||
                        (pp->pr_roflags & PR_IMMEDRELEASE) != 0 ||
                        (pp->pr_alloc->pa_flags & PA_WANT) != 0)) {
                         pr_rmpage(pp, ph, NULL);                          pr_rmpage(pp, ph, NULL);
                 } else {                  } else {
                         LIST_REMOVE(ph, ph_pagelist);                          LIST_REMOVE(ph, ph_pagelist);

Legend:
Removed from v.1.89  
changed lines
  Added in v.1.90

CVSweb <webmaster@jp.NetBSD.org>