Lines Matching refs:snap

52 static int lgrp_cpus_hier(lgrp_snapshot_header_t *snap, lgrp_id_t lgrp,
142 parent_orphans(lgrp_snapshot_header_t *snap) in parent_orphans() argument
151 if (snap == NULL || snap->ss_info == NULL || in parent_orphans()
152 snap->ss_parents == NULL || snap->ss_root < 0 || in parent_orphans()
153 snap->ss_root >= snap->ss_nlgrps_max) in parent_orphans()
156 nlgrpsmax = snap->ss_nlgrps_max; in parent_orphans()
157 root = &snap->ss_info[snap->ss_root]; in parent_orphans()
165 if (i == snap->ss_root) in parent_orphans()
168 lgrp_info = &snap->ss_info[i]; in parent_orphans()
177 (ulong_t *)((uintptr_t)snap->ss_parents + in parent_orphans()
210 prune_child(lgrp_snapshot_header_t *snap, lgrp_id_t lgrp) in prune_child() argument
216 if (snap == NULL || lgrp < 0 || lgrp > snap->ss_nlgrps_max) in prune_child()
219 lgrp_info = &snap->ss_info[lgrp]; in prune_child()
228 for (i = 0; i < snap->ss_nlgrps_max; i++) { in prune_child()
230 lgrp_info = &snap->ss_info[i]; in prune_child()
240 prune_cpus(lgrp_snapshot_header_t *snap, lgrp_id_t lgrp, processorid_t *cpus, in prune_cpus() argument
251 if (snap == NULL || lgrp < 0 || lgrp > snap->ss_nlgrps_max) in prune_cpus()
254 lgrp_info = &snap->ss_info[lgrp]; in prune_cpus()
308 prune_tree(lgrp_snapshot_header_t *snap) in prune_tree() argument
317 if (snap == NULL || snap->ss_info == NULL) in prune_tree()
338 nlgrps_max = snap->ss_nlgrps_max; in prune_tree()
340 lgrp_info = &snap->ss_info[i]; in prune_tree()
341 if (BT_TEST(snap->ss_lgrpset, i)) in prune_tree()
342 prune_cpus(snap, i, cpus, ncpus); in prune_tree()
344 prune_cpus(snap, i, NULL, -1); in prune_tree()
356 lgrp_info = &snap->ss_info[i]; in prune_tree()
360 BT_SET(snap->ss_lgrpset, i); in prune_tree()
368 lgrp_info = &snap->ss_info[i]; in prune_tree()
372 ncpus = lgrp_cpus_hier(snap, i, NULL, NULL); in prune_tree()
373 nbytes = lgrp_mem_size((lgrp_cookie_t)snap, i, in prune_tree()
376 BT_CLEAR(snap->ss_lgrpset, i); in prune_tree()
377 prune_child(snap, i); in prune_tree()
378 snap->ss_nlgrps--; in prune_tree()
395 lgrp_snapshot_header_t *snap; in lgrp_init() local
408 snap = NULL; in lgrp_init()
409 while (snap == NULL) { in lgrp_init()
423 snap = NULL; in lgrp_init()
430 snap = malloc(bufsize); in lgrp_init()
431 if (snap == NULL) in lgrp_init()
433 bzero(snap, bufsize); in lgrp_init()
438 bufsize = lgrp_snapshot(snap, bufsize); in lgrp_init()
440 free(snap); in lgrp_init()
444 snap = NULL; in lgrp_init()
454 free(snap); in lgrp_init()
455 snap = NULL; in lgrp_init()
461 snap->ss_gen = gen; in lgrp_init()
462 snap->ss_view = view; in lgrp_init()
467 snap->ss_pset = 0; in lgrp_init()
474 snap->ss_pset = pset; in lgrp_init()
481 if (snap->ss_levels > 1) in lgrp_init()
482 (void) parent_orphans(snap); in lgrp_init()
488 (void) prune_tree(snap); in lgrp_init()
494 for (i = 0; i < snap->ss_nlgrps_max; i++) { in lgrp_init()
497 lgrp_info = &snap->ss_info[i]; in lgrp_init()
501 BT_SET(snap->ss_lgrpset, i); in lgrp_init()
505 return ((uintptr_t)snap); in lgrp_init()
516 lgrp_snapshot_header_t *snap; in lgrp_cookie_stale() local
521 snap = (lgrp_snapshot_header_t *)cookie; in lgrp_cookie_stale()
522 if (snap == NULL || snap->ss_magic != cookie) { in lgrp_cookie_stale()
531 if (snap->ss_gen != lgrp_generation(snap->ss_view)) in lgrp_cookie_stale()
537 if (snap->ss_view == LGRP_VIEW_CALLER) { in lgrp_cookie_stale()
540 if (snap->ss_pset != pset) in lgrp_cookie_stale()
554 lgrp_snapshot_header_t *snap; in lgrp_view() local
556 snap = (lgrp_snapshot_header_t *)cookie; in lgrp_view()
557 if (snap == NULL || snap->ss_magic != cookie) { in lgrp_view()
562 return (snap->ss_view); in lgrp_view()
572 lgrp_snapshot_header_t *snap; in lgrp_nlgrps() local
574 snap = (lgrp_snapshot_header_t *)cookie; in lgrp_nlgrps()
576 if (snap == NULL || snap->ss_magic != cookie) { in lgrp_nlgrps()
581 return (snap->ss_nlgrps); in lgrp_nlgrps()
591 lgrp_snapshot_header_t *snap; in lgrp_root() local
593 snap = (lgrp_snapshot_header_t *)cookie; in lgrp_root()
595 if (snap == NULL || snap->ss_magic != cookie) { in lgrp_root()
600 return (snap->ss_root); in lgrp_root()
613 lgrp_snapshot_header_t *snap; in lgrp_parents() local
617 snap = (lgrp_snapshot_header_t *)cookie; in lgrp_parents()
622 if (snap == NULL || snap->ss_magic != cookie || in lgrp_parents()
631 nlgrps_max = snap->ss_nlgrps_max; in lgrp_parents()
632 if (lgrp >= nlgrps_max || !BT_TEST(snap->ss_lgrpset, lgrp)) { in lgrp_parents()
641 if (lgrp == snap->ss_root || snap->ss_levels == 1) { in lgrp_parents()
650 if (snap->ss_parents == NULL) { in lgrp_parents()
658 lgrp_parents = &snap->ss_parents[lgrp * BT_BITOUL(nlgrps_max)]; in lgrp_parents()
692 lgrp_snapshot_header_t *snap; in lgrp_children() local
694 snap = (lgrp_snapshot_header_t *)cookie; in lgrp_children()
699 if (snap == NULL || snap->ss_magic != cookie || in lgrp_children()
708 nlgrps_max = snap->ss_nlgrps_max; in lgrp_children()
709 if (lgrp >= nlgrps_max || !BT_TEST(snap->ss_lgrpset, lgrp)) { in lgrp_children()
717 if (snap->ss_levels == 1) { in lgrp_children()
726 if (snap->ss_children == NULL) { in lgrp_children()
734 lgrp_children = &snap->ss_children[lgrp * BT_BITOUL(nlgrps_max)]; in lgrp_children()
759 lgrp_cpus_hier(lgrp_snapshot_header_t *snap, lgrp_id_t lgrp, in lgrp_cpus_hier() argument
774 lgrp_info = &snap->ss_info[lgrp]; in lgrp_cpus_hier()
787 nlgrps_max = snap->ss_nlgrps_max; in lgrp_cpus_hier()
798 lgrp_info = &snap->ss_info[i]; in lgrp_cpus_hier()
838 lgrp_snapshot_header_t *snap; in lgrp_cpus() local
840 snap = (lgrp_snapshot_header_t *)cookie; in lgrp_cpus()
845 if (snap == NULL || snap->ss_magic != cookie || in lgrp_cpus()
856 if (lgrp >= snap->ss_nlgrps_max || snap->ss_info == NULL || in lgrp_cpus()
857 !BT_TEST(snap->ss_lgrpset, lgrp)) { in lgrp_cpus()
865 lgrp_info = &snap->ss_info[lgrp]; in lgrp_cpus()
895 return (lgrp_cpus_hier(snap, lgrp, &cpuids, &count)); in lgrp_cpus()
917 lgrp_snapshot_header_t *snap; in lgrp_mem_size() local
919 snap = (lgrp_snapshot_header_t *)cookie; in lgrp_mem_size()
924 if (snap == NULL || snap->ss_magic != cookie || in lgrp_mem_size()
933 nlgrps_max = snap->ss_nlgrps_max; in lgrp_mem_size()
934 if (lgrp >= nlgrps_max || snap->ss_info == NULL || in lgrp_mem_size()
935 !BT_TEST(snap->ss_lgrpset, lgrp)) { in lgrp_mem_size()
945 lgrp_info = &snap->ss_info[lgrp]; in lgrp_mem_size()
988 lgrp_info = &snap->ss_info[i]; in lgrp_mem_size()
1026 lgrp_snapshot_header_t *snap; in lgrp_resources() local
1028 snap = (lgrp_snapshot_header_t *)cookie; in lgrp_resources()
1033 if (snap == NULL || snap->ss_magic != cookie || in lgrp_resources()
1043 nlgrps_max = snap->ss_nlgrps_max; in lgrp_resources()
1044 if (lgrp >= nlgrps_max || snap->ss_info == NULL || in lgrp_resources()
1045 !BT_TEST(snap->ss_lgrpset, lgrp)) { in lgrp_resources()
1053 lgrp_info = &snap->ss_info[lgrp]; in lgrp_resources()
1061 for (i = 0; i < snap->ss_nlgrps_max; i++) in lgrp_resources()
1078 lgrp_snapshot_header_t *snap; in lgrp_fini() local
1080 snap = (lgrp_snapshot_header_t *)cookie; in lgrp_fini()
1082 if (snap == NULL || snap->ss_magic != cookie) { in lgrp_fini()
1087 bzero(snap, snap->ss_size); in lgrp_fini()
1088 free(snap); in lgrp_fini()
1089 snap = NULL; in lgrp_fini()
1135 lgrp_snapshot_header_t *snap; in lgrp_latency_cookie() local
1137 snap = (lgrp_snapshot_header_t *)cookie; in lgrp_latency_cookie()
1142 if (snap == NULL || snap->ss_magic != cookie || from < 0 || to < 0 || in lgrp_latency_cookie()
1151 nlgrps_max = snap->ss_nlgrps_max; in lgrp_latency_cookie()
1179 lgrp_info = &snap->ss_info[from]; in lgrp_latency_cookie()
1183 return (snap->ss_latencies[from][to]); in lgrp_latency_cookie()