diff options
author | Hartmut Brandt <harti@FreeBSD.org> | 2003-07-22 12:46:30 +0000 |
---|---|---|
committer | Hartmut Brandt <harti@FreeBSD.org> | 2003-07-22 12:46:30 +0000 |
commit | b92ba022616003941c2fcb0ec1536b8d9f17ed80 (patch) | |
tree | fe0192056d1d484956a504da31f19e63d36c82b2 /sys/netatm/sigpvc | |
parent | 77bf7b3bc0f1d1bfeb7d9dad93881c078a03d34d (diff) |
Remove the zone limits for all the zones used in the ATM code.
These were a left over from when the private memory pools were
converted to use uma zones. The limit of UMA zones, however,
works differently. When a zone is limited to only one or two pages
than, on multi-cpu systems, processes can get stuck on the zonelimit,
because all remaining free items are in caches of other CPUs.
Also add rudimentary error handling in some places (panic) when a zone
cannot be created.
Notes
Notes:
svn path=/head/; revision=117886
Diffstat (limited to 'sys/netatm/sigpvc')
-rw-r--r-- | sys/netatm/sigpvc/sigpvc_if.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/netatm/sigpvc/sigpvc_if.c b/sys/netatm/sigpvc/sigpvc_if.c index 9de14cbeb716..dbcc215e5088 100644 --- a/sys/netatm/sigpvc/sigpvc_if.c +++ b/sys/netatm/sigpvc/sigpvc_if.c @@ -145,7 +145,8 @@ sigpvc_start() 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); + if (sigpvc_vc_zone == NULL) + return (ENOMEM); /* * Register ourselves with system |