Author: fabient
Date: Mon Aug  2 13:40:19 2010
New Revision: 210766
URL: http://svn.freebsd.org/changeset/base/210766

Log:
  Fix the calltree top view that incorrectly filter out some nodes.
  
  MFC after:    1 week

Modified:
  head/usr.sbin/pmcstat/pmcpl_calltree.c

Modified: head/usr.sbin/pmcstat/pmcpl_calltree.c
==============================================================================
--- head/usr.sbin/pmcstat/pmcpl_calltree.c      Mon Aug  2 13:11:41 2010        
(r210765)
+++ head/usr.sbin/pmcstat/pmcpl_calltree.c      Mon Aug  2 13:40:19 2010        
(r210766)
@@ -354,6 +354,7 @@ pmcpl_ct_node_dumptop(int pmcin, struct 
     struct pmcpl_ct_sample *rsamples, int x, int *y)
 {
        int i, terminal;
+       struct pmcpl_ct_arc *arc;
 
        if (ct->pct_flags & PMCPL_PCT_TAG)
                return 0;
@@ -372,12 +373,17 @@ pmcpl_ct_node_dumptop(int pmcin, struct 
         * for at least one arc for that PMC.
         */
        terminal = 1;
-       for (i = 0; i < ct->pct_narc; i++)
+       for (i = 0; i < ct->pct_narc; i++) {
+               arc = &ct->pct_arc[i];
                if (PMCPL_CT_SAMPLE(pmcin,
-                   &ct->pct_arc[i].pcta_samples) != 0) {
+                   &arc->pcta_samples) != 0 &&
+                   PMCPL_CT_SAMPLEP(pmcin,
+                   &arc->pcta_samples) > pmcstat_threshold &&
+                   (arc->pcta_child->pct_flags & PMCPL_PCT_TAG) == 0) {
                        terminal = 0;
                        break;
                }
+       }
 
        if (ct->pct_narc == 0 || terminal) {
                pmcpl_ct_topscreen[x+1][*y] = NULL;
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to