diff options
author | arr <arr@FreeBSD.org> | 2002-05-24 00:38:25 +0000 |
---|---|---|
committer | arr <arr@FreeBSD.org> | 2002-05-24 00:38:25 +0000 |
commit | d756e3ff88238ac6a0deb498bda602333d20ddb3 (patch) | |
tree | 95f9fdc37ec7b8c9b4b69b7fd0939e3958ecb5f3 | |
parent | 52bc2e2b225519bc815454628afae9ce2a78c3bb (diff) | |
download | FreeBSD-src-d756e3ff88238ac6a0deb498bda602333d20ddb3.zip FreeBSD-src-d756e3ff88238ac6a0deb498bda602333d20ddb3.tar.gz |
- Turn a couple of storage pools into UMA zones and their associated calls
to the appropriate UMA api calls.
-rw-r--r-- | sys/netatm/sigpvc/sigpvc_if.c | 17 | ||||
-rw-r--r-- | sys/netatm/sigpvc/sigpvc_subr.c | 6 |
2 files changed, 13 insertions, 10 deletions
diff --git a/sys/netatm/sigpvc/sigpvc_if.c b/sys/netatm/sigpvc/sigpvc_if.c index b484198..dbeba74 100644 --- a/sys/netatm/sigpvc/sigpvc_if.c +++ b/sys/netatm/sigpvc/sigpvc_if.c @@ -67,6 +67,8 @@ #include <netatm/sigpvc/sigpvc_var.h> +#include <vm/uma.h> + #ifndef lint __RCSID("@(#) $FreeBSD$"); #endif @@ -75,12 +77,7 @@ __RCSID("@(#) $FreeBSD$"); /* * Global variables */ -struct sp_info sigpvc_vcpool = { - "sigpvc vcc pool", /* si_name */ - sizeof(struct sigpvc_vccb), /* si_blksiz */ - 10, /* si_blkcnt */ - 50 /* si_maxallow */ -}; +uma_zone_t sigpvc_vc_zone; /* * Local functions @@ -153,6 +150,10 @@ sigpvc_start() return (EINVAL); } + sigpvc_vc_zone = uma_zcreate("sigpvc vc", sizeof(struct sigpvc_vccb), + NULL, NULL, NULL, NULL, UMA_ALIGN_PTR, 0); + uma_zone_set_max(sigpvc_vc_zone, 50); + /* * Register ourselves with system */ @@ -209,7 +210,7 @@ sigpvc_stop() /* * Free up our vccb storage pool */ - atm_release_pool(&sigpvc_vcpool); + uma_zdestroy(sigpvc_vc_zone); } else err = ENXIO; @@ -510,7 +511,7 @@ sigpvc_free(vcp) */ vcp->vc_ustate = VCCU_NULL; vcp->vc_sstate = VCCS_NULL; - atm_free((caddr_t)vcp); + uma_zfree(sigpvc_vc_zone, vcp); /* * If we're detaching and this was the last vcc queued, diff --git a/sys/netatm/sigpvc/sigpvc_subr.c b/sys/netatm/sigpvc/sigpvc_subr.c index bb40c44..995979e 100644 --- a/sys/netatm/sigpvc/sigpvc_subr.c +++ b/sys/netatm/sigpvc/sigpvc_subr.c @@ -57,11 +57,13 @@ #include <netatm/sigpvc/sigpvc_var.h> +#include <vm/uma.h> + #ifndef lint __RCSID("@(#) $FreeBSD$"); #endif -extern struct sp_info sigpvc_vcpool; +extern uma_zone_t sigpvc_vc_zone; /* * Create a SigPVC Permanent Virtual Channel @@ -127,7 +129,7 @@ sigpvc_create_pvc(pvp, cvp, errp) /* * Allocate control block for PVC */ - vcp = (struct vccb *)atm_allocate(&sigpvc_vcpool); + vcp = uma_zalloc(sigpvc_vc_zone, M_WAITOK | M_ZERO); if (vcp == NULL) { *errp = ENOMEM; return (CALL_FAILED); |