aboutsummaryrefslogtreecommitdiff
path: root/sys/powerpc/aim
diff options
context:
space:
mode:
authorRyan Libby <rlibby@FreeBSD.org>2020-02-04 22:40:23 +0000
committerRyan Libby <rlibby@FreeBSD.org>2020-02-04 22:40:23 +0000
commit10c8fb47d976589ad459356329b390a684a7f4a5 (patch)
tree9da0875a031d5ddb2593defaa71a16ba51c0f91b /sys/powerpc/aim
parentec0d8280717e1027934159f5ffbd80af79cfea08 (diff)
downloadsrc-10c8fb47d976589ad459356329b390a684a7f4a5.tar.gz
src-10c8fb47d976589ad459356329b390a684a7f4a5.zip
uma: convert mbuf_jumbo_alloc to UMA_ZONE_CONTIG & tag others
Remove mbuf_jumbo_alloc and let large mbuf zones use the new uma default contig allocator (a copy of mbuf_jumbo_alloc). Tag other zones which require contiguous objects, even if they don't use the new default contig allocator, so that uma knows about their constraints. Reviewed by: jeff, markj Sponsored by: Dell EMC Isilon Differential Revision: https://reviews.freebsd.org/D23238
Notes
Notes: svn path=/head/; revision=357548
Diffstat (limited to 'sys/powerpc/aim')
-rw-r--r--sys/powerpc/aim/slb.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/sys/powerpc/aim/slb.c b/sys/powerpc/aim/slb.c
index fad4c04c69a6..ab9dde4ee69b 100644
--- a/sys/powerpc/aim/slb.c
+++ b/sys/powerpc/aim/slb.c
@@ -523,12 +523,18 @@ slb_uma_real_alloc(uma_zone_t zone, vm_size_t bytes, int domain,
static void
slb_zone_init(void *dummy)
{
+ uint32_t allocf_flags;
+
+ allocf_flags = 0;
+ if (platform_real_maxaddr() != VM_MAX_ADDRESS)
+ allocf_flags = UMA_ZONE_CONTIG;
slbt_zone = uma_zcreate("SLB tree node", sizeof(struct slbtnode),
- NULL, NULL, NULL, NULL, UMA_ALIGN_PTR, UMA_ZONE_VM);
+ NULL, NULL, NULL, NULL, UMA_ALIGN_PTR,
+ allocf_flags | UMA_ZONE_VM);
slb_cache_zone = uma_zcreate("SLB cache",
(n_slbs + 1)*sizeof(struct slb *), NULL, NULL, NULL, NULL,
- UMA_ALIGN_PTR, UMA_ZONE_VM);
+ UMA_ALIGN_PTR, allocf_flags | UMA_ZONE_VM);
if (platform_real_maxaddr() != VM_MAX_ADDRESS) {
uma_zone_set_allocf(slb_cache_zone, slb_uma_real_alloc);