WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-changelog

[Xen-changelog] [xen-unstable] tools: gtracestate: fix several problems

To: xen-changelog@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] [xen-unstable] tools: gtracestate: fix several problems
From: Xen patchbot-unstable <patchbot@xxxxxxx>
Date: Fri, 04 Mar 2011 17:05:29 +0000
Delivery-date: Fri, 04 Mar 2011 09:06:13 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-changelog-request@lists.xensource.com?subject=help>
List-id: BK change log <xen-changelog.lists.xensource.com>
List-post: <mailto:xen-changelog@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=unsubscribe>
Reply-to: xen-devel@xxxxxxxxxxxxxxxxxxx
Sender: xen-changelog-bounces@xxxxxxxxxxxxxxxxxxx
# HG changeset patch
# User Wei Gang <gang.wei@xxxxxxxxx>
# Date 1299178273 0
# Node ID 3db8805c4995dd9944afde9c68c1788227a3d33f
# Parent  1484494a34458a272dccf2e288f5e1a8c5eddd77
tools: gtracestate: fix several problems

Fixed problems include:
  * previously just print out a error instead of help info
    while running without cmdline parameters.
  * -u & -n lead to Segmentation fault.
  * -c and then use default ranges, the default ranges is not
        50us... but 50000/tsc2us....

Signed-off-by: Wei Gang <gang.wei@xxxxxxxxx>
Acked-by: Ian Campbell <ian.campbell@xxxxxxxxxx>
Acked-by: Keir Fraser <keir@xxxxxxx>
Acked-by: Ian Jackson <ian.jackson@xxxxxxxxxxxxx>
Committed-by: Ian Jackson <ian.jackson@xxxxxxxxxxxxx>
---


diff -r 1484494a3445 -r 3db8805c4995 tools/misc/gtracestat.c
--- a/tools/misc/gtracestat.c   Thu Mar 03 17:24:27 2011 +0000
+++ b/tools/misc/gtracestat.c   Thu Mar 03 18:51:13 2011 +0000
@@ -137,9 +137,13 @@
         { NULL, 0, NULL, 0 },
     };
 
+    if ( argc == 1 ) {
+        show_help();
+        exit(EXIT_SUCCESS);
+    }
     while (1) {
         int ch, opt_idx;
-        ch = getopt_long(argc, argv, "vhds:e:l:bcmaupnzx",
+        ch = getopt_long(argc, argv, "vhds:e:l:bcmau:pn:zx",
                          long_options, &opt_idx);
         if (ch == -1)
             break;
@@ -435,13 +439,13 @@
 
 void show_version(void)
 {
-    printf("gtracestat - (C) 2009 Intel Corporation\n");
+    printf("gtracestat - (C) 2009-2011 Intel Corporation\n");
 }
 
 void show_help(void)
 {
     show_version();
-    printf("tracestat <trace.data> [-vhdselbcmau]\n");
+    printf("gtracestat <trace.data> [-vhdselbcmau]\n");
     printf("  trace.data       raw data got by 'xentrace -e 0x80f000 
trace.dat'\n");
     printf("  -v / --version   show version message\n");
     printf("  -h / --help      show this message\n");
@@ -453,9 +457,9 @@
     printf("  -c / --count       give count summary info\n");
     printf("  -a / --average     give total/average residency info\n");
     printf("  -m / --maxmin      show man/min residency summary info\n");
-    printf("  -u / --tsc2us      specify how many tsc is a us unit\n");
+    printf("  -u / --tsc2us <tsc-per-us> specify how many tsc is a us unit\n");
     printf("  -p / --px          operate on Px entries\n");
-    printf("  -n / --tsc2phase   specify how many tsc is a phase unit (only in 
px)\n");
+    printf("  -n / --tsc2phase <tsc-per-phase> specify how many tsc is a phase 
unit (only in px)\n");
     printf("  -z / --exp-ratio   show the ratio of early break events\n");
     printf("  -x / --exp-pred    show the ratio of expected / predicted in Cx 
entry\n");
 }
@@ -745,21 +749,22 @@
 
 void do_count(void)
 {
-    uint64_t scale[100] = { 50000UL, 100000UL, 200000UL, 400000UL, 800000UL, 
1000000UL };
-    int a[100];
+    uint64_t scale[100] = { 50UL, 100UL, 200UL, 400UL, 800UL, 1000UL };
+    int a;
     int scale_len = 6;
     int len = 0;
     int i, j;
 
     printf("Please input the period:  (Ctrl+D to quit)\n");
-    printf("The default is 50us, 100us, 200us, 400us, 800us, 1000us.\n(unit is 
us, you DO NOT need to add us and specify ZERO us and please be in INCREASING 
order.)\n");
-    while (scanf("%d", &a[len]) == 1)
-        len++;
-    if (len) {
-        for (i = 0; i < len; i++)
-            scale[i] = a[i] * tsc2us;
+    printf("The default is: 50 100 200 400 800 1000\n"
+           "(unit is us, DO NOT specify ZERO as any entry, keep entries in 
INCREASING order.)\n");
+    while (scanf("%d", &a) == 1) {
+        scale[len++] = a;
         scale_len = len;
     }
+    for (i = 0; i < scale_len; i++)
+        scale[i] = scale[i] * tsc2us;
+
     for (i = 0; i < max_cpu_num; i++) {
         struct cond_rec *r[MAX_CX_NR];
         uint64_t sum[MAX_CX_NR];

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-changelog] [xen-unstable] tools: gtracestate: fix several problems, Xen patchbot-unstable <=