| version 1.109, 2005/12/20 15:52:14 |
version 1.110, 2005/12/24 19:12:23 |
| 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 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; |