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 */