Re: [V2][PATCH 5/5] oprofile, x86: Reimplement nmi timer mode usingperf event

From: Robert Richter
Date: Tue Nov 01 2011 - 13:54:15 EST


On 23.10.11 07:27:28, Ingo Molnar wrote:
>
> * Robert Richter <robert.richter@xxxxxxx> wrote:
>
> > The legacy x86 nmi watchdog code was removed with the implementation
> > of the perf based nmi watchdog. This broke Oprofile's nmi timer
> > mode. To run nmi timer mode we relied on a continuous ticking nmi
> > source which the nmi watchdog provided. The nmi tick was no longer
> > available and current watchdog can not be used anymore since it runs
> > with very long periods in the range of seconds. This patch
> > reimplements the nmi timer mode using a perf counter nmi source.
> >
> > V2:
> > * removing pr_info()
> > * fix undefined reference to `__udivdi3' for 32 bit build
> > * fix section mismatch of .cpuinit.data:nmi_timer_cpu_nb
> > * removed nmi timer setup in arch/x86
> > * implemented function stubs for op_nmi_init/exit()
> > * made code more readable in oprofile_init()
> >
> > Cc: Peter Zijlstra <a.p.zijlstra@xxxxxxxxx>
> > Signed-off-by: Robert Richter <robert.richter@xxxxxxx>
> > ---
> > arch/Kconfig | 4 +
> > arch/x86/oprofile/Makefile | 3 +-
> > arch/x86/oprofile/init.c | 30 ++-----
> > arch/x86/oprofile/nmi_timer_int.c | 66 --------------
> > drivers/oprofile/nmi_timer_int.c | 173 +++++++++++++++++++++++++++++++++++++
> > drivers/oprofile/oprof.c | 24 +++---
> > drivers/oprofile/oprof.h | 9 ++
> > kernel/events/core.c | 2 +
> > 8 files changed, 208 insertions(+), 103 deletions(-)
> > delete mode 100644 arch/x86/oprofile/nmi_timer_int.c
> > create mode 100644 drivers/oprofile/nmi_timer_int.c
>
> Looks clean to me. Peter, any objections?

Peter, I guess V2 is ok for you too?

Thanks,

-Robert

--
Advanced Micro Devices, Inc.
Operating System Research Center

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/