diff options
author | Ryan Libby <rlibby@FreeBSD.org> | 2020-02-04 22:40:23 +0000 |
---|---|---|
committer | Ryan Libby <rlibby@FreeBSD.org> | 2020-02-04 22:40:23 +0000 |
commit | 10c8fb47d976589ad459356329b390a684a7f4a5 (patch) | |
tree | 9da0875a031d5ddb2593defaa71a16ba51c0f91b /sys/powerpc/aim | |
parent | ec0d8280717e1027934159f5ffbd80af79cfea08 (diff) | |
download | src-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.c | 10 |
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); |