[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.109 and 1.111

version 1.109, 2005/12/20 15:52:14 version 1.111, 2006/01/26 15:07:25
Line 214  struct pool_log {
Line 214  struct pool_log {
   
 int pool_logsize = POOL_LOGSIZE;  int pool_logsize = POOL_LOGSIZE;
   
 static __inline void  static inline void
 pr_log(struct pool *pp, void *v, int action, const char *file, long line)  pr_log(struct pool *pp, void *v, int action, const char *file, long line)
 {  {
         int n = pp->pr_curlogentry;          int n = pp->pr_curlogentry;
Line 267  pr_printlog(struct pool *pp, struct pool
Line 267  pr_printlog(struct pool *pp, struct pool
         }          }
 }  }
   
 static __inline void  static inline void
 pr_enter(struct pool *pp, const char *file, long line)  pr_enter(struct pool *pp, const char *file, long line)
 {  {
   
Line 283  pr_enter(struct pool *pp, const char *fi
Line 283  pr_enter(struct pool *pp, const char *fi
         pp->pr_entered_line = line;          pp->pr_entered_line = line;
 }  }
   
 static __inline void  static inline void
 pr_leave(struct pool *pp)  pr_leave(struct pool *pp)
 {  {
   
Line 296  pr_leave(struct pool *pp)
Line 296  pr_leave(struct pool *pp)
         pp->pr_entered_line = 0;          pp->pr_entered_line = 0;
 }  }
   
 static __inline void  static inline void
 pr_enter_check(struct pool *pp, void (*pr)(const char *, ...))  pr_enter_check(struct pool *pp, void (*pr)(const char *, ...))
 {  {
   
Line 312  pr_enter_check(struct pool *pp, void (*p
Line 312  pr_enter_check(struct pool *pp, void (*p
 #define pr_enter_check(pp, pr)  #define pr_enter_check(pp, pr)
 #endif /* POOL_DIAGNOSTIC */  #endif /* POOL_DIAGNOSTIC */
   
 static __inline int  static inline int
 pr_item_notouch_index(const struct pool *pp, const struct pool_item_header *ph,  pr_item_notouch_index(const struct pool *pp, const struct pool_item_header *ph,
     const void *v)      const void *v)
 {  {
Line 331  pr_item_notouch_index(const struct pool 
Line 331  pr_item_notouch_index(const struct pool 
 #define PR_INDEX_USED   ((pool_item_freelist_t)-1)  #define PR_INDEX_USED   ((pool_item_freelist_t)-1)
 #define PR_INDEX_EOL    ((pool_item_freelist_t)-2)  #define PR_INDEX_EOL    ((pool_item_freelist_t)-2)
   
 static __inline void  static inline void
 pr_item_notouch_put(const struct pool *pp, struct pool_item_header *ph,  pr_item_notouch_put(const struct pool *pp, struct pool_item_header *ph,
     void *obj)      void *obj)
 {  {
Line 343  pr_item_notouch_put(const struct pool *p
Line 343  pr_item_notouch_put(const struct pool *p
         ph->ph_firstfree = idx;          ph->ph_firstfree = idx;
 }  }
   
 static __inline void *  static inline void *
 pr_item_notouch_get(const struct pool *pp, struct pool_item_header *ph)  pr_item_notouch_get(const struct pool *pp, struct pool_item_header *ph)
 {  {
         int idx = ph->ph_firstfree;          int idx = ph->ph_firstfree;
Line 356  pr_item_notouch_get(const struct pool *p
Line 356  pr_item_notouch_get(const struct pool *p
         return ph->ph_page + ph->ph_off + idx * pp->pr_size;          return ph->ph_page + ph->ph_off + idx * pp->pr_size;
 }  }
   
 static __inline int  static inline int
 phtree_compare(struct pool_item_header *a, struct pool_item_header *b)  phtree_compare(struct pool_item_header *a, struct pool_item_header *b)
 {  {
         if (a->ph_page < b->ph_page)          if (a->ph_page < b->ph_page)
Line 373  SPLAY_GENERATE(phtree, pool_item_header,
Line 373  SPLAY_GENERATE(phtree, pool_item_header,
 /*  /*
  * Return the pool page header based on page address.   * Return the pool page header based on page address.
  */   */
 static __inline struct pool_item_header *  static inline struct pool_item_header *
 pr_find_pagehead(struct pool *pp, caddr_t page)  pr_find_pagehead(struct pool *pp, caddr_t page)
 {  {
         struct pool_item_header *ph, tmp;          struct pool_item_header *ph, tmp;
Line 406  pr_pagelist_free(struct pool *pp, struct
Line 406  pr_pagelist_free(struct pool *pp, struct
 /*  /*
  * Remove a page from the pool.   * Remove a page from the pool.
  */   */
 static __inline void  static inline void
 pr_rmpage(struct pool *pp, struct pool_item_header *ph,  pr_rmpage(struct pool *pp, struct pool_item_header *ph,
      struct pool_pagelist *pq)       struct pool_pagelist *pq)
 {  {
Line 1033  pool_get(struct pool *pp, int flags)
Line 1033  pool_get(struct pool *pp, int flags)
         }          }
   
         pp->pr_nget++;          pp->pr_nget++;
           pr_leave(pp);
   
         /*          /*
          * If we have a low water mark and we are now below that low           * If we have a low water mark and we are now below that low
Line 1046  pool_get(struct pool *pp, int flags)
Line 1047  pool_get(struct pool *pp, int flags)
                  */                   */
         }          }
   
         pr_leave(pp);  
         simple_unlock(&pp->pr_slock);          simple_unlock(&pp->pr_slock);
         return (v);          return (v);
 }  }
Line 1894  pool_cache_destroy(struct pool_cache *pc
Line 1894  pool_cache_destroy(struct pool_cache *pc
         simple_unlock(&pp->pr_slock);          simple_unlock(&pp->pr_slock);
 }  }
   
 static __inline void *  static inline void *
 pcg_get(struct pool_cache_group *pcg, paddr_t *pap)  pcg_get(struct pool_cache_group *pcg, paddr_t *pap)
 {  {
         void *object;          void *object;
Line 1913  pcg_get(struct pool_cache_group *pcg, pa
Line 1913  pcg_get(struct pool_cache_group *pcg, pa
         return (object);          return (object);
 }  }
   
 static __inline void  static inline void
 pcg_put(struct pool_cache_group *pcg, void *object, paddr_t pa)  pcg_put(struct pool_cache_group *pcg, void *object, paddr_t pa)
 {  {
         u_int idx;          u_int idx;

Legend:
Removed from v.1.109  
changed lines
  Added in v.1.111

CVSweb <webmaster@jp.NetBSD.org>