Lines Matching refs:snap

55 static int lgrp_cpus_hier(lgrp_snapshot_header_t *snap, lgrp_id_t lgrp,
145 parent_orphans(lgrp_snapshot_header_t *snap)
154 if (snap == NULL || snap->ss_info == NULL ||
155 snap->ss_parents == NULL || snap->ss_root < 0 ||
156 snap->ss_root >= snap->ss_nlgrps_max)
159 nlgrpsmax = snap->ss_nlgrps_max;
160 root = &snap->ss_info[snap->ss_root];
168 if (i == snap->ss_root)
171 lgrp_info = &snap->ss_info[i];
180 (ulong_t *)((uintptr_t)snap->ss_parents +
213 prune_child(lgrp_snapshot_header_t *snap, lgrp_id_t lgrp)
219 if (snap == NULL || lgrp < 0 || lgrp > snap->ss_nlgrps_max)
222 lgrp_info = &snap->ss_info[lgrp];
231 for (i = 0; i < snap->ss_nlgrps_max; i++) {
233 lgrp_info = &snap->ss_info[i];
243 prune_cpus(lgrp_snapshot_header_t *snap, lgrp_id_t lgrp, processorid_t *cpus,
254 if (snap == NULL || lgrp < 0 || lgrp > snap->ss_nlgrps_max)
257 lgrp_info = &snap->ss_info[lgrp];
311 prune_tree(lgrp_snapshot_header_t *snap)
320 if (snap == NULL || snap->ss_info == NULL)
341 nlgrps_max = snap->ss_nlgrps_max;
343 lgrp_info = &snap->ss_info[i];
344 if (BT_TEST(snap->ss_lgrpset, i))
345 prune_cpus(snap, i, cpus, ncpus);
347 prune_cpus(snap, i, NULL, -1);
359 lgrp_info = &snap->ss_info[i];
363 BT_SET(snap->ss_lgrpset, i);
371 lgrp_info = &snap->ss_info[i];
375 ncpus = lgrp_cpus_hier(snap, i, NULL, NULL);
376 nbytes = lgrp_mem_size((lgrp_cookie_t)snap, i,
379 BT_CLEAR(snap->ss_lgrpset, i);
380 prune_child(snap, i);
381 snap->ss_nlgrps--;
398 lgrp_snapshot_header_t *snap;
411 snap = NULL;
412 while (snap == NULL) {
426 snap = NULL;
433 snap = malloc(bufsize);
434 if (snap == NULL)
436 bzero(snap, bufsize);
441 bufsize = lgrp_snapshot(snap, bufsize);
443 free(snap);
447 snap = NULL;
457 free(snap);
458 snap = NULL;
464 snap->ss_gen = gen;
465 snap->ss_view = view;
470 snap->ss_pset = 0;
477 snap->ss_pset = pset;
484 if (snap->ss_levels > 1)
485 (void) parent_orphans(snap);
491 (void) prune_tree(snap);
497 for (i = 0; i < snap->ss_nlgrps_max; i++) {
500 lgrp_info = &snap->ss_info[i];
504 BT_SET(snap->ss_lgrpset, i);
508 return ((uintptr_t)snap);
519 lgrp_snapshot_header_t *snap;
524 snap = (lgrp_snapshot_header_t *)cookie;
525 if (snap == NULL || snap->ss_magic != cookie) {
534 if (snap->ss_gen != lgrp_generation(snap->ss_view))
540 if (snap->ss_view == LGRP_VIEW_CALLER) {
543 if (snap->ss_pset != pset)
557 lgrp_snapshot_header_t *snap;
559 snap = (lgrp_snapshot_header_t *)cookie;
560 if (snap == NULL || snap->ss_magic != cookie) {
565 return (snap->ss_view);
575 lgrp_snapshot_header_t *snap;
577 snap = (lgrp_snapshot_header_t *)cookie;
579 if (snap == NULL || snap->ss_magic != cookie) {
584 return (snap->ss_nlgrps);
594 lgrp_snapshot_header_t *snap;
596 snap = (lgrp_snapshot_header_t *)cookie;
598 if (snap == NULL || snap->ss_magic != cookie) {
603 return (snap->ss_root);
616 lgrp_snapshot_header_t *snap;
620 snap = (lgrp_snapshot_header_t *)cookie;
625 if (snap == NULL || snap->ss_magic != cookie ||
634 nlgrps_max = snap->ss_nlgrps_max;
635 if (lgrp >= nlgrps_max || !BT_TEST(snap->ss_lgrpset, lgrp)) {
644 if (lgrp == snap->ss_root || snap->ss_levels == 1) {
653 if (snap->ss_parents == NULL) {
661 lgrp_parents = &snap->ss_parents[lgrp * BT_BITOUL(nlgrps_max)];
695 lgrp_snapshot_header_t *snap;
697 snap = (lgrp_snapshot_header_t *)cookie;
702 if (snap == NULL || snap->ss_magic != cookie ||
711 nlgrps_max = snap->ss_nlgrps_max;
712 if (lgrp >= nlgrps_max || !BT_TEST(snap->ss_lgrpset, lgrp)) {
720 if (snap->ss_levels == 1) {
729 if (snap->ss_children == NULL) {
737 lgrp_children = &snap->ss_children[lgrp * BT_BITOUL(nlgrps_max)];
762 lgrp_cpus_hier(lgrp_snapshot_header_t *snap, lgrp_id_t lgrp,
777 lgrp_info = &snap->ss_info[lgrp];
790 nlgrps_max = snap->ss_nlgrps_max;
801 lgrp_info = &snap->ss_info[i];
841 lgrp_snapshot_header_t *snap;
843 snap = (lgrp_snapshot_header_t *)cookie;
848 if (snap == NULL || snap->ss_magic != cookie ||
859 if (lgrp >= snap->ss_nlgrps_max || snap->ss_info == NULL ||
860 !BT_TEST(snap->ss_lgrpset, lgrp)) {
868 lgrp_info = &snap->ss_info[lgrp];
898 return (lgrp_cpus_hier(snap, lgrp, &cpuids, &count));
920 lgrp_snapshot_header_t *snap;
922 snap = (lgrp_snapshot_header_t *)cookie;
927 if (snap == NULL || snap->ss_magic != cookie ||
936 nlgrps_max = snap->ss_nlgrps_max;
937 if (lgrp >= nlgrps_max || snap->ss_info == NULL ||
938 !BT_TEST(snap->ss_lgrpset, lgrp)) {
948 lgrp_info = &snap->ss_info[lgrp];
991 lgrp_info = &snap->ss_info[i];
1029 lgrp_snapshot_header_t *snap;
1031 snap = (lgrp_snapshot_header_t *)cookie;
1036 if (snap == NULL || snap->ss_magic != cookie ||
1046 nlgrps_max = snap->ss_nlgrps_max;
1047 if (lgrp >= nlgrps_max || snap->ss_info == NULL ||
1048 !BT_TEST(snap->ss_lgrpset, lgrp)) {
1056 lgrp_info = &snap->ss_info[lgrp];
1064 for (i = 0; i < snap->ss_nlgrps_max; i++)
1081 lgrp_snapshot_header_t *snap;
1083 snap = (lgrp_snapshot_header_t *)cookie;
1085 if (snap == NULL || snap->ss_magic != cookie) {
1090 bzero(snap, snap->ss_size);
1091 free(snap);
1092 snap = NULL;
1138 lgrp_snapshot_header_t *snap;
1140 snap = (lgrp_snapshot_header_t *)cookie;
1145 if (snap == NULL || snap->ss_magic != cookie || from < 0 || to < 0 ||
1154 nlgrps_max = snap->ss_nlgrps_max;
1182 lgrp_info = &snap->ss_info[from];
1186 return (snap->ss_latencies[from][to]);