|
Lines 523-540
slb_uma_real_alloc(uma_zone_t zone, vm_size_t bytes, int domain,
Link Here
|
| 523 |
static void |
523 |
static void |
| 524 |
slb_zone_init(void *dummy) |
524 |
slb_zone_init(void *dummy) |
| 525 |
{ |
525 |
{ |
| 526 |
uint32_t allocf_flags; |
|
|
| 527 |
|
| 528 |
allocf_flags = 0; |
| 529 |
if (platform_real_maxaddr() != VM_MAX_ADDRESS) |
| 530 |
allocf_flags = UMA_ZONE_CONTIG; |
| 531 |
|
| 532 |
slbt_zone = uma_zcreate("SLB tree node", sizeof(struct slbtnode), |
526 |
slbt_zone = uma_zcreate("SLB tree node", sizeof(struct slbtnode), |
| 533 |
NULL, NULL, NULL, NULL, UMA_ALIGN_PTR, |
527 |
NULL, NULL, NULL, NULL, UMA_ALIGN_PTR, |
| 534 |
allocf_flags | UMA_ZONE_VM); |
528 |
UMA_ZONE_CONTIG | UMA_ZONE_VM); |
| 535 |
slb_cache_zone = uma_zcreate("SLB cache", |
529 |
slb_cache_zone = uma_zcreate("SLB cache", |
| 536 |
(n_slbs + 1)*sizeof(struct slb *), NULL, NULL, NULL, NULL, |
530 |
(n_slbs + 1)*sizeof(struct slb *), NULL, NULL, NULL, NULL, |
| 537 |
UMA_ALIGN_PTR, allocf_flags | UMA_ZONE_VM); |
531 |
UMA_ALIGN_PTR, UMA_ZONE_CONTIG | UMA_ZONE_VM); |
| 538 |
|
532 |
|
| 539 |
if (platform_real_maxaddr() != VM_MAX_ADDRESS) { |
533 |
if (platform_real_maxaddr() != VM_MAX_ADDRESS) { |
| 540 |
uma_zone_set_allocf(slb_cache_zone, slb_uma_real_alloc); |
534 |
uma_zone_set_allocf(slb_cache_zone, slb_uma_real_alloc); |