summaryrefslogtreecommitdiffstats
path: root/sys/netatm/spans/spans_if.c
diff options
context:
space:
mode:
authorharti <harti@FreeBSD.org>2003-07-22 12:46:30 +0000
committerharti <harti@FreeBSD.org>2003-07-22 12:46:30 +0000
commitef0c913256e9dc1649f9a1717272d7ac66142e52 (patch)
treefe0192056d1d484956a504da31f19e63d36c82b2 /sys/netatm/spans/spans_if.c
parent94d1a5de21a31c87cea17a35bf16a2e3665dfbf3 (diff)
downloadFreeBSD-src-ef0c913256e9dc1649f9a1717272d7ac66142e52.zip
FreeBSD-src-ef0c913256e9dc1649f9a1717272d7ac66142e52.tar.gz
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.
Diffstat (limited to 'sys/netatm/spans/spans_if.c')
-rw-r--r--sys/netatm/spans/spans_if.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/sys/netatm/spans/spans_if.c b/sys/netatm/spans/spans_if.c
index 3ea781c..b0ae569 100644
--- a/sys/netatm/spans/spans_if.c
+++ b/sys/netatm/spans/spans_if.c
@@ -126,11 +126,13 @@ spans_start()
spans_vc_zone = uma_zcreate("spans vc", sizeof(struct spans_vccb),
NULL, NULL, NULL, NULL, UMA_ALIGN_PTR, 0);
- uma_zone_set_max(spans_vc_zone, 50);
+ if (spans_vc_zone == NULL)
+ panic("spans_vc_zone");
spans_msg_zone = uma_zcreate("spans msg", sizeof(spans_msg), NULL,
NULL, NULL, NULL, UMA_ALIGN_PTR, 0);
- uma_zone_set_max(spans_msg_zone, 50);
+ if (spans_msg_zone == NULL)
+ panic("spans_msg_zone");
/*
* Allocate protocol definition structure
OpenPOWER on IntegriCloud