Print this page
XXXX pass in cpu_pause_func via pause_cpus

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/common/os/lgrp.c
          +++ new/usr/src/uts/common/os/lgrp.c
↓ open down ↓ 1289 lines elided ↑ open up ↑
1290 1290          if (my_lgrp == NULL) {
1291 1291                  /* new lgrp */
1292 1292                  my_lgrp = lgrp_create();
1293 1293                  lgrpid = my_lgrp->lgrp_id;
1294 1294                  my_lgrp->lgrp_plathand = hand;
1295 1295                  my_lgrp->lgrp_latency = lgrp_plat_latency(hand, hand);
1296 1296                  klgrpset_add(my_lgrp->lgrp_leaves, lgrpid);
1297 1297                  klgrpset_add(my_lgrp->lgrp_set[LGRP_RSRC_MEM], lgrpid);
1298 1298  
1299 1299                  if (need_synch)
1300      -                        pause_cpus(NULL);
     1300 +                        pause_cpus(NULL, NULL);
1301 1301                  count = lgrp_leaf_add(my_lgrp, lgrp_table, lgrp_alloc_max + 1,
1302 1302                      &changed);
1303 1303                  if (need_synch)
1304 1304                          start_cpus();
1305 1305          } else if (my_lgrp->lgrp_latency == 0 && lgrp_plat_latency(hand, hand)
1306 1306              > 0) {
1307 1307                  /*
1308 1308                   * Leaf lgroup was created, but latency wasn't available
1309 1309                   * then.  So, set latency for it and fill in rest of lgroup
1310 1310                   * topology  now that we know how far it is from other leaf
1311 1311                   * lgroups.
1312 1312                   */
1313 1313                  klgrpset_clear(changed);
1314 1314                  lgrpid = my_lgrp->lgrp_id;
1315 1315                  if (!klgrpset_ismember(my_lgrp->lgrp_set[LGRP_RSRC_MEM],
1316 1316                      lgrpid))
1317 1317                          klgrpset_add(my_lgrp->lgrp_set[LGRP_RSRC_MEM], lgrpid);
1318 1318                  if (need_synch)
1319      -                        pause_cpus(NULL);
     1319 +                        pause_cpus(NULL, NULL);
1320 1320                  count = lgrp_leaf_add(my_lgrp, lgrp_table, lgrp_alloc_max + 1,
1321 1321                      &changed);
1322 1322                  if (need_synch)
1323 1323                          start_cpus();
1324 1324          } else if (!klgrpset_ismember(my_lgrp->lgrp_set[LGRP_RSRC_MEM],
1325 1325              my_lgrp->lgrp_id)) {
1326 1326                  /*
1327 1327                   * Add new lgroup memory resource to existing lgroup
1328 1328                   */
1329 1329                  lgrpid = my_lgrp->lgrp_id;
↓ open down ↓ 140 lines elided ↑ open up ↑
1470 1470           * resources now
1471 1471           */
1472 1472          lgrpid = my_lgrp->lgrp_id;
1473 1473          count = 0;
1474 1474          klgrpset_clear(changed);
1475 1475          if (lgrp_rsets_empty(my_lgrp->lgrp_set)) {
1476 1476                  /*
1477 1477                   * Delete lgroup when no more resources
1478 1478                   */
1479 1479                  if (need_synch)
1480      -                        pause_cpus(NULL);
     1480 +                        pause_cpus(NULL, NULL);
1481 1481                  count = lgrp_leaf_delete(my_lgrp, lgrp_table,
1482 1482                      lgrp_alloc_max + 1, &changed);
1483 1483                  ASSERT(count > 0);
1484 1484                  if (need_synch)
1485 1485                          start_cpus();
1486 1486          } else {
1487 1487                  /*
1488 1488                   * Remove lgroup from memory resources of any lgroups that
1489 1489                   * contain it as such
1490 1490                   */
↓ open down ↓ 2951 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX