Re: [PATCH 4/4] PERF: fix power:cpu_idle double end events
Hi Robert, On Monday 01 November 2010 09:11:28 Robert Schöne wrote: > Am Mittwoch, den 27.10.2010, 17:42 +0200 schrieb Thomas Renninger: > > > Robert: I expect you tested this on a machine with no cpuidle > > driver registered? > > You're right, there was no idle driver, but the idle process from > process_64.c which called the idle routine. > I reported my thoughts on this on 14th of May this year 2010, mostly > claiming for a standard on where to report these events. > > You're also missing the other idle routines from x86/kernel/process.c > mwait_idle_with_hints and mwait_idle only throw start events, so they > should behave like default_idle. poll_idle on the other hand reports > the end event itself. I added you to CC of a patch that fixes the issue (and all other double or missing (for acpi_idle driver) events) in a nice generic way. It needs further userspace adjustings and I still wait for this separate patch series to go into some branch. Thanks, Thomas -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Re: [PATCH 4/4] PERF: fix power:cpu_idle double end events
Am Mittwoch, den 27.10.2010, 17:42 +0200 schrieb Thomas Renninger: > Robert: I expect you tested this on a machine with no cpuidle > driver registered? You're right, there was no idle driver, but the idle process from process_64.c which called the idle routine. I reported my thoughts on this on 14th of May this year 2010, mostly claiming for a standard on where to report these events. You're also missing the other idle routines from x86/kernel/process.c mwait_idle_with_hints and mwait_idle only throw start events, so they should behave like default_idle. poll_idle on the other hand reports the end event itself. Robert -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
[PATCH 4/4] PERF: fix power:cpu_idle double end events
cpu_idle events (transition into sleep state and exiting) are both fired in pm_idle(). Entering sleep state and exiting should always get fired inside pm_idle() already. This is a revert of commit c882e0feb937af4e5b991cbd1c Signed-off-by: Thomas Renninger CC: Robert Schoene CC: Arjan van de Ven CC: Ingo Molnar --- arch/x86/kernel/process_32.c |4 arch/x86/kernel/process_64.c |6 -- 2 files changed, 0 insertions(+), 10 deletions(-) diff --git a/arch/x86/kernel/process_32.c b/arch/x86/kernel/process_32.c index 4b9befa..8d12878 100644 --- a/arch/x86/kernel/process_32.c +++ b/arch/x86/kernel/process_32.c @@ -57,8 +57,6 @@ #include #include -#include - asmlinkage void ret_from_fork(void) __asm__("ret_from_fork"); /* @@ -113,8 +111,6 @@ void cpu_idle(void) stop_critical_timings(); pm_idle(); start_critical_timings(); - trace_power_end(smp_processor_id()); - trace_cpu_idle(PWR_EVENT_EXIT, smp_processor_id()); } tick_nohz_restart_sched_tick(); preempt_enable_no_resched(); diff --git a/arch/x86/kernel/process_64.c b/arch/x86/kernel/process_64.c index 28153a9..d7b3e95 100644 --- a/arch/x86/kernel/process_64.c +++ b/arch/x86/kernel/process_64.c @@ -51,8 +51,6 @@ #include #include -#include - asmlinkage extern void ret_from_fork(void); DEFINE_PER_CPU(unsigned long, old_rsp); @@ -141,10 +139,6 @@ void cpu_idle(void) pm_idle(); start_critical_timings(); - trace_power_end(smp_processor_id()); - trace_cpu_idle(PWR_EVENT_EXIT, - smp_processor_id()); - /* In many cases the interrupt that ended idle has already called exit_idle. But some idle loops can be woken up without interrupt. */ -- 1.6.3 -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html