[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.105 and 1.106

version 1.105, 2005/10/16 02:21:40 version 1.106, 2005/10/16 02:55:18
Line 2068  pool_cache_destruct_object(struct pool_c
Line 2068  pool_cache_destruct_object(struct pool_c
 }  }
   
 static void  static void
 pool_do_cache_invalidate_grouplist(struct pool_cache_group *pcg,  pool_do_cache_invalidate_grouplist(struct pool_cache_grouplist *pcgsl,
     struct pool_cache *pc, struct pool_pagelist *pq,      struct pool_cache *pc, struct pool_pagelist *pq,
     struct pool_cache_grouplist *pcgl)      struct pool_cache_grouplist *pcgdl)
 {  {
         struct pool_cache_group *npcg;          struct pool_cache_group *pcg, *npcg;
         void *object;          void *object;
   
         for (; pcg != NULL; pcg = npcg) {          for (pcg = LIST_FIRST(pcgsl); pcg != NULL; pcg = npcg) {
                 npcg = LIST_NEXT(pcg, pcg_list);                  npcg = LIST_NEXT(pcg, pcg_list);
                 while (pcg->pcg_avail != 0) {                  while (pcg->pcg_avail != 0) {
                         pc->pc_nitems--;                          pc->pc_nitems--;
Line 2086  pool_do_cache_invalidate_grouplist(struc
Line 2086  pool_do_cache_invalidate_grouplist(struc
                 }                  }
                 pc->pc_ngroups--;                  pc->pc_ngroups--;
                 LIST_REMOVE(pcg, pcg_list);                  LIST_REMOVE(pcg, pcg_list);
                 LIST_INSERT_HEAD(pcgl, pcg, pcg_list);                  LIST_INSERT_HEAD(pcgdl, pcg, pcg_list);
         }          }
 }  }
   
Line 2098  pool_do_cache_invalidate(struct pool_cac
Line 2098  pool_do_cache_invalidate(struct pool_cac
         LOCK_ASSERT(simple_lock_held(&pc->pc_slock));          LOCK_ASSERT(simple_lock_held(&pc->pc_slock));
         LOCK_ASSERT(simple_lock_held(&pc->pc_pool->pr_slock));          LOCK_ASSERT(simple_lock_held(&pc->pc_pool->pr_slock));
   
         pool_do_cache_invalidate_grouplist(LIST_FIRST(&pc->pc_fullgroups),          pool_do_cache_invalidate_grouplist(&pc->pc_fullgroups, pc, pq, pcgl);
             pc, pq, pcgl);          pool_do_cache_invalidate_grouplist(&pc->pc_partgroups, pc, pq, pcgl);
         pool_do_cache_invalidate_grouplist(LIST_FIRST(&pc->pc_partgroups),  
             pc, pq, pcgl);  
   
         KASSERT(LIST_EMPTY(&pc->pc_partgroups));          KASSERT(LIST_EMPTY(&pc->pc_partgroups));
         KASSERT(LIST_EMPTY(&pc->pc_fullgroups));          KASSERT(LIST_EMPTY(&pc->pc_fullgroups));

Legend:
Removed from v.1.105  
changed lines
  Added in v.1.106

CVSweb <webmaster@jp.NetBSD.org>