diff options
-rw-r--r-- | tools/xentrace/formats | 4 | ||||
-rw-r--r-- | xen/arch/x86/acpi/cpu_idle.c | 12 |
2 files changed, 8 insertions, 8 deletions
diff --git a/tools/xentrace/formats b/tools/xentrace/formats index 5d84eec6b3..42744a7352 100644 --- a/tools/xentrace/formats +++ b/tools/xentrace/formats @@ -118,5 +118,5 @@ 0x0040f10f CPU%(cpu)d %(tsc)d (+%(reltsc)8d) shadow_emulate_resync_only [ gfn = 0x%(1)16x ] 0x00801001 CPU%(cpu)d %(tsc)d (+%(reltsc)8d) cpu_freq_change [ %(1)dMHz -> %(2)dMHz ] -0x00802001 CPU%(cpu)d %(tsc)d (+%(reltsc)8d) cpu_idle_entry [ C0 -> C%(1)d ] -0x00802002 CPU%(cpu)d %(tsc)d (+%(reltsc)8d) cpu_idle_exit [ C%(1)d -> C0 ] +0x00802001 CPU%(cpu)d %(tsc)d (+%(reltsc)8d) cpu_idle_entry [ C0 -> C%(1)d, acpi_pm_tick = %(2)d ] +0x00802002 CPU%(cpu)d %(tsc)d (+%(reltsc)8d) cpu_idle_exit [ C%(1)d -> C0, acpi_pm_tick = %(2)d ] diff --git a/xen/arch/x86/acpi/cpu_idle.c b/xen/arch/x86/acpi/cpu_idle.c index 29a372c90f..ede3ec1df6 100644 --- a/xen/arch/x86/acpi/cpu_idle.c +++ b/xen/arch/x86/acpi/cpu_idle.c @@ -245,16 +245,16 @@ static void acpi_processor_idle(void) case ACPI_STATE_C2: if ( cx->type == ACPI_STATE_C1 || local_apic_timer_c2_ok ) { - /* Trace cpu idle entry */ - TRACE_1D(TRC_PM_IDLE_ENTRY, cx->idx); /* Get start time (ticks) */ t1 = inl(pmtmr_ioport); + /* Trace cpu idle entry */ + TRACE_2D(TRC_PM_IDLE_ENTRY, cx->idx, t1); /* Invoke C2 */ acpi_idle_do_entry(cx); /* Get end time (ticks) */ t2 = inl(pmtmr_ioport); /* Trace cpu idle exit */ - TRACE_1D(TRC_PM_IDLE_EXIT, cx->idx); + TRACE_2D(TRC_PM_IDLE_EXIT, cx->idx, t2); /* Re-enable interrupts */ local_irq_enable(); @@ -293,8 +293,6 @@ static void acpi_processor_idle(void) ACPI_FLUSH_CPU_CACHE(); } - /* Trace cpu idle entry */ - TRACE_1D(TRC_PM_IDLE_ENTRY, cx->idx); /* * Before invoking C3, be aware that TSC/APIC timer may be * stopped by H/W. Without carefully handling of TSC/APIC stop issues, @@ -305,6 +303,8 @@ static void acpi_processor_idle(void) /* Get start time (ticks) */ t1 = inl(pmtmr_ioport); + /* Trace cpu idle entry */ + TRACE_2D(TRC_PM_IDLE_ENTRY, cx->idx, t1); /* Invoke C3 */ acpi_idle_do_entry(cx); /* Get end time (ticks) */ @@ -313,7 +313,7 @@ static void acpi_processor_idle(void) /* recovering TSC */ cstate_restore_tsc(); /* Trace cpu idle exit */ - TRACE_1D(TRC_PM_IDLE_EXIT, cx->idx); + TRACE_2D(TRC_PM_IDLE_EXIT, cx->idx, t2); if ( power->flags.bm_check && power->flags.bm_control ) { |