Module Name: src Committed By: jym Date: Mon Nov 14 02:38:06 UTC 2011
Modified Files: src/share/man/man9: pool.9 Log Message: Document pool_sethardlimit. To generate a diff of this commit: cvs rdiff -u -r1.43 -r1.44 src/share/man/man9/pool.9 Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/share/man/man9/pool.9 diff -u src/share/man/man9/pool.9:1.43 src/share/man/man9/pool.9:1.44 --- src/share/man/man9/pool.9:1.43 Wed Apr 30 13:10:58 2008 +++ src/share/man/man9/pool.9 Mon Nov 14 02:38:05 2011 @@ -1,4 +1,4 @@ -.\" $NetBSD: pool.9,v 1.43 2008/04/30 13:10:58 martin Exp $ +.\" $NetBSD: pool.9,v 1.44 2011/11/14 02:38:05 jym Exp $ .\" .\" Copyright (c) 1997, 1998, 2007 The NetBSD Foundation, Inc. .\" All rights reserved. @@ -27,7 +27,7 @@ .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.Dd July 25, 2007 +.Dd November 14, 2011 .Dt POOL 9 .Os .Sh NAME @@ -37,7 +37,8 @@ .Nm pool_put , .Nm pool_prime , .Nm pool_sethiwat , -.Nm pool_setlowat +.Nm pool_setlowat , +.Nm pool_sethardlimit .Nd resource-pool manager .Sh SYNOPSIS .In sys/pool.h @@ -64,6 +65,9 @@ .Fn pool_sethiwat "struct pool *pp" "int n" .Ft void .Fn pool_setlowat "struct pool *pp" "int n" +.Ft void +.Fn pool_sethardlimit "struct pool *pp" "int n" \ +"const char *warnmess" "int ratecap" .Sh DESCRIPTION These utility routines provide management of pools of fixed-sized areas of memory. @@ -218,12 +222,13 @@ This function may return in case the requested number of items could not be allocated. Otherwise, the return value is 0. -.Ss SETTING POOL RESOURCE WATERMARKS +.Ss SETTING POOL RESOURCE WATERMARKS AND LIMITS A pool will attempt to increase its resource usage to keep up with the demand for its items. Conversely, it will return unused memory to the system should the number of accumulated unused items in the pool exceed a programmable limit. +.Pp The limits for the minimum and maximum number of items which a pool should keep at hand are known as the high and low .Sy watermarks . @@ -233,6 +238,13 @@ and .Fn pool_setlowat set a pool's high and low watermarks, respectively. .Pp +The hard limit represents the maximum number of items a pool is allowed +to allocate at any given time. +Unless modified via +.Fn pool_sethardlimit , +the hard limit defaults to +.Dv UINT_MAX . +.Pp .Fn pool_sethiwat .Bl -tag -offset indent -width "flags" .It Fa pp @@ -260,6 +272,20 @@ Unlike .Fn pool_prime , this function does not allocate the necessary memory up-front. .El +.Pp +.Fn pool_sethardlimit +.Bl -tag -offset indent -width "flags" +.It Fa pp +The handle identifying the pool resource instance. +.It Fa n +The maximum number of items to be allocated from the pool (i.e. the +hard limit). +.It Fa warnmess +The warning message that will be logged when the hard limit is reached. +.It Fa ratecap +The minimal interval (in seconds) after which another warning message +is issued when the pool hits its hard limit again. +.El .Ss POTENTIAL PITFALLS Note that undefined behaviour results when mixing the storage providing methods supported by the pool resource routines.