Print this page
5255 uts shouldn't open-code ISP2
@@ -1286,14 +1286,14 @@
/*
* when we get above throttle start do an exponential
* backoff at trying large pages and reaping
*/
if (lpthrt > segkmem_lpthrottle_start &&
- (lpthrt & (lpthrt - 1))) {
+ !ISP2(lpthrt)) {
lpcb->allocs_throttled++;
lpthrt--;
- if ((lpthrt & (lpthrt - 1)) == 0)
+ if (ISP2(lpthrt))
kmem_reap();
return (segkmem_alloc(vmp, size, vmflag));
}
}
@@ -1473,19 +1473,17 @@
segkmem_lpsize = PAGESIZE;
return (0);
}
/* set heap_lp quantum if necessary */
- if (segkmem_heaplp_quantum == 0 ||
- (segkmem_heaplp_quantum & (segkmem_heaplp_quantum - 1)) ||
+ if (segkmem_heaplp_quantum == 0 || !ISP2(segkmem_heaplp_quantum) ||
P2PHASE(segkmem_heaplp_quantum, segkmem_lpsize)) {
segkmem_heaplp_quantum = segkmem_lpsize;
}
/* set kmem_lp quantum if necessary */
- if (segkmem_kmemlp_quantum == 0 ||
- (segkmem_kmemlp_quantum & (segkmem_kmemlp_quantum - 1)) ||
+ if (segkmem_kmemlp_quantum == 0 || !ISP2(segkmem_kmemlp_quantum) ||
segkmem_kmemlp_quantum > segkmem_heaplp_quantum) {
segkmem_kmemlp_quantum = segkmem_heaplp_quantum;
}
/* set total amount of memory allowed for large page kernel heap */