Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. =================================================================== RCS file: /ftp/cvs/cvsroot/src/sys/kern/subr_pool.c,v retrieving revision 1.87.2.6 retrieving revision 1.87.2.7 diff -u -p -r1.87.2.6 -r1.87.2.7 --- src/sys/kern/subr_pool.c 2005/11/10 14:09:45 1.87.2.6 +++ src/sys/kern/subr_pool.c 2005/12/11 10:29:12 1.87.2.7 @@ -1,4 +1,4 @@ -/* $NetBSD: subr_pool.c,v 1.87.2.6 2005/11/10 14:09:45 skrll Exp $ */ +/* $NetBSD: subr_pool.c,v 1.87.2.7 2005/12/11 10:29:12 christos Exp $ */ /*- * Copyright (c) 1997, 1999, 2000 The NetBSD Foundation, Inc. @@ -38,7 +38,7 @@ */ #include -__KERNEL_RCSID(0, "$NetBSD: subr_pool.c,v 1.87.2.6 2005/11/10 14:09:45 skrll Exp $"); +__KERNEL_RCSID(0, "$NetBSD: subr_pool.c,v 1.87.2.7 2005/12/11 10:29:12 christos Exp $"); #include "opt_pool.h" #include "opt_poollog.h" @@ -1581,6 +1581,22 @@ pool_print(struct pool *pp, const char * } void +pool_printall(const char *modif, void (*pr)(const char *, ...)) +{ + struct pool *pp; + + if (simple_lock_try(&pool_head_slock) == 0) { + (*pr)("WARNING: pool_head_slock is locked\n"); + } else { + simple_unlock(&pool_head_slock); + } + + LIST_FOREACH(pp, &pool_head, pr_poollist) { + pool_printit(pp, modif, pr); + } +} + +void pool_printit(struct pool *pp, const char *modif, void (*pr)(const char *, ...)) {