diff mbox

[04/15] tools: xenalyze: fix dumping of PM_IDLE events.

Message ID 149633844271.12814.12806115164198367799.stgit@Solace.fritz.box (mailing list archive)
State New, archived
Headers show

Commit Message

Dario Faggioli June 1, 2017, 5:34 p.m. UTC
In fact, not all the information present in the trace
record were used and printed.

Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>
---
George Dunlap <george.dunlap@eu.citrix.com>
Ian Jackson <ian.jackson@eu.citrix.com>
Wei Liu <wei.liu2@citrix.com>
---
 tools/xentrace/xenalyze.c |   24 +++++++++++++++++++-----
 1 file changed, 19 insertions(+), 5 deletions(-)

Comments

George Dunlap June 8, 2017, 3:06 p.m. UTC | #1
On Thu, Jun 1, 2017 at 6:34 PM, Dario Faggioli
<dario.faggioli@citrix.com> wrote:
> In fact, not all the information present in the trace
> record were used and printed.
>
> Signed-off-by: Dario Faggioli <dario.faggioli@citrix.com>

Reviewed-by: George Dunlap <george.dunlap@citrix.com>
diff mbox

Patch

diff --git a/tools/xentrace/xenalyze.c b/tools/xentrace/xenalyze.c
index 063eee7..3c2f600 100644
--- a/tools/xentrace/xenalyze.c
+++ b/tools/xentrace/xenalyze.c
@@ -8269,9 +8269,10 @@  void pm_process(struct pcpu_info *p) {
         break;
     case TRC_PM_IDLE_ENTRY:
         if (opt.dump_all )
-            printf(" %s pm_idle_start c%d\n",
+            printf(" %s pm_idle_start c%d, pm_tick=%u, exp=%dus, pred=%dus\n",
                    ri->dump_header,
-                   ri->d[0]);
+                   ri->d[0], ri->d[1],
+                   ri->d[2], ri->d[3]);
         if ( ri->d[0] <= CSTATE_MAX )
         {
             p->power_state=ri->d[0];
@@ -8280,9 +8281,22 @@  void pm_process(struct pcpu_info *p) {
         break;
     case TRC_PM_IDLE_EXIT:
         if (opt.dump_all )
-            printf(" %s pm_idle_end c%d\n",
-                   ri->dump_header,
-                   ri->d[0]);
+        {
+            int i;
+
+            printf(" %s pm_idle_end c%d pm_tick=%u",
+                   ri->dump_header, ri->d[0], ri->d[1]);
+            printf(", irr_status=%d", ri->d[2]);
+            for (i = 3; i <= 5; i++)
+            {
+                if (ri->d[i] == 0)
+                    break;
+                printf(",%d", ri->d[i]);
+            }
+            if (i == 6)
+                printf(",...");
+            printf("\n");
+        }
         if ( p->power_state != ri->d[0]
              && p->power_state != CSTATE_INVALID )
             printf("Strange, pm_idle_end %d, power_state %d!\n",