Print this page
XXXX pass in cpu_pause_func via pause_cpus

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/common/os/cpu_pm.c
          +++ new/usr/src/uts/common/os/cpu_pm.c
↓ open down ↓ 180 lines elided ↑ open up ↑
 181  181                  return (result);
 182  182          }
 183  183  
 184  184          /*
 185  185           * Pausing CPUs causes a high priority thread to be scheduled
 186  186           * on all other CPUs (besides the current one). This locks out
 187  187           * other CPUs from making CPUPM state transitions.
 188  188           */
 189  189          switch (new_policy) {
 190  190          case CPUPM_POLICY_DISABLED:
 191      -                pause_cpus(NULL);
      191 +                pause_cpus(NULL, NULL);
 192  192                  cpupm_policy = CPUPM_POLICY_DISABLED;
 193  193                  start_cpus();
 194  194  
 195  195                  result = cmt_pad_disable(PGHW_POW_ACTIVE);
 196  196  
 197  197                  /*
 198  198                   * Once PAD has been enabled, it should always be possible
 199  199                   * to disable it.
 200  200                   */
 201  201                  ASSERT(result == 0);
↓ open down ↓ 19 lines elided ↑ open up ↑
 221  221                  }
 222  222  
 223  223                  /*
 224  224                   * Initialize the governor parameters the first time through.
 225  225                   */
 226  226                  if (gov_init == 0) {
 227  227                          cpupm_governor_initialize();
 228  228                          gov_init = 1;
 229  229                  }
 230  230  
 231      -                pause_cpus(NULL);
      231 +                pause_cpus(NULL, NULL);
 232  232                  cpupm_policy = CPUPM_POLICY_ELASTIC;
 233  233                  start_cpus();
 234  234  
 235  235                  break;
 236  236          default:
 237  237                  cmn_err(CE_WARN, "Attempt to set unknown CPUPM policy %d\n",
 238  238                      new_policy);
 239  239                  ASSERT(0);
 240  240                  break;
 241  241          }
↓ open down ↓ 550 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX