Print this page
5255 uts shouldn't open-code ISP2

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/common/vm/vpm.c
          +++ new/usr/src/uts/common/vm/vpm.c
↓ open down ↓ 197 lines elided ↑ open up ↑
 198  198                  vpm_nfreelist = max_ncpus;
 199  199          } else if (vpm_nfreelist < 0 || vpm_nfreelist > 2 * max_ncpus) {
 200  200                  cmn_err(CE_WARN, "vpmap create : number of freelist "
 201  201                  "vpm_nfreelist %d using %d", vpm_nfreelist, max_ncpus);
 202  202                  vpm_nfreelist = 2 * max_ncpus;
 203  203          }
 204  204  
 205  205          /*
 206  206           * Round it up to the next power of 2
 207  207           */
 208      -        if (vpm_nfreelist & (vpm_nfreelist - 1)) {
      208 +        if (!ISP2(vpm_nfreelist)) {
 209  209                  vpm_nfreelist = 1 << (highbit(vpm_nfreelist));
 210  210          }
 211  211          vpmd_freemsk = vpm_nfreelist - 1;
 212  212  
 213  213          /*
 214  214           * Use a per cpu rotor index to spread the allocations evenly
 215  215           * across the available vpm freelists.
 216  216           */
 217  217          vpmd_cpu = kmem_zalloc(sizeof (union vpm_cpu) * max_ncpus, KM_SLEEP);
 218  218          ndx = 0;
↓ open down ↓ 962 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX