All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] perf_event: initialize data.period in perf_swevent_hrtimer()
@ 2009-12-01  9:30 Xiao Guangrong
  2009-12-01  9:37 ` Peter Zijlstra
  2009-12-01 10:21 ` [tip:perf/core] perf_event: Initialize " tip-bot for Xiao Guangrong
  0 siblings, 2 replies; 3+ messages in thread
From: Xiao Guangrong @ 2009-12-01  9:30 UTC (permalink / raw)
  To: Ingo Molnar; +Cc: Peter Zijlstra, Frederic Weisbecker, LKML

In current code in perf_swevent_hrtimer(), data.period is not initialized,
The result is obvious wrong:

# ./perf record -f -e cpu-clock make
# ./perf report
# Samples: 1740
#
# Overhead   Command                                   ...... 
# ........  ........  ..........................................
#
   1025422183050275328.00%        sh  libc-2.9.90.so ...        
   1025422183050275328.00%      perl  libperl.so     ...        
   1025422168240043264.00%      perl  [kernel]       ...         
   1025422030011210752.00%      perl  [kernel]       ...

Signed-off-by: Xiao Guangrong <xiaoguangrong@cn.fujitsu.com>
---
 kernel/perf_event.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/kernel/perf_event.c b/kernel/perf_event.c
index 0b9ca2d..040ee51 100644
--- a/kernel/perf_event.c
+++ b/kernel/perf_event.c
@@ -4010,6 +4010,7 @@ static enum hrtimer_restart perf_swevent_hrtimer(struct hrtimer *hrtimer)
 	event->pmu->read(event);
 
 	data.addr = 0;
+	data.period = event->hw.last_period;
 	regs = get_irq_regs();
 	/*
 	 * In case we exclude kernel IPs or are somehow not in interrupt
-- 
1.6.1.2



^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] perf_event: initialize data.period in perf_swevent_hrtimer()
  2009-12-01  9:30 [PATCH] perf_event: initialize data.period in perf_swevent_hrtimer() Xiao Guangrong
@ 2009-12-01  9:37 ` Peter Zijlstra
  2009-12-01 10:21 ` [tip:perf/core] perf_event: Initialize " tip-bot for Xiao Guangrong
  1 sibling, 0 replies; 3+ messages in thread
From: Peter Zijlstra @ 2009-12-01  9:37 UTC (permalink / raw)
  To: Xiao Guangrong; +Cc: Ingo Molnar, Frederic Weisbecker, LKML

On Tue, 2009-12-01 at 17:30 +0800, Xiao Guangrong wrote:
> In current code in perf_swevent_hrtimer(), data.period is not initialized,

Ah, very nice catch.

Acked-by: Peter Zijlstra <a.p.zijlstra@chello.nl>

> Signed-off-by: Xiao Guangrong <xiaoguangrong@cn.fujitsu.com>
> ---
>  kernel/perf_event.c |    1 +
>  1 files changed, 1 insertions(+), 0 deletions(-)
> 
> diff --git a/kernel/perf_event.c b/kernel/perf_event.c
> index 0b9ca2d..040ee51 100644
> --- a/kernel/perf_event.c
> +++ b/kernel/perf_event.c
> @@ -4010,6 +4010,7 @@ static enum hrtimer_restart perf_swevent_hrtimer(struct hrtimer *hrtimer)
>  	event->pmu->read(event);
>  
>  	data.addr = 0;
> +	data.period = event->hw.last_period;
>  	regs = get_irq_regs();
>  	/*
>  	 * In case we exclude kernel IPs or are somehow not in interrupt



^ permalink raw reply	[flat|nested] 3+ messages in thread

* [tip:perf/core] perf_event: Initialize data.period in perf_swevent_hrtimer()
  2009-12-01  9:30 [PATCH] perf_event: initialize data.period in perf_swevent_hrtimer() Xiao Guangrong
  2009-12-01  9:37 ` Peter Zijlstra
@ 2009-12-01 10:21 ` tip-bot for Xiao Guangrong
  1 sibling, 0 replies; 3+ messages in thread
From: tip-bot for Xiao Guangrong @ 2009-12-01 10:21 UTC (permalink / raw)
  To: linux-tip-commits
  Cc: linux-kernel, hpa, mingo, peterz, xiaoguangrong, fweisbec, stable,
	tglx, mingo

Commit-ID:  59d069eb5ae9b033ed1c124c92e1532c4a958991
Gitweb:     http://git.kernel.org/tip/59d069eb5ae9b033ed1c124c92e1532c4a958991
Author:     Xiao Guangrong <xiaoguangrong@cn.fujitsu.com>
AuthorDate: Tue, 1 Dec 2009 17:30:08 +0800
Committer:  Ingo Molnar <mingo@elte.hu>
CommitDate: Tue, 1 Dec 2009 11:19:07 +0100

perf_event: Initialize data.period in perf_swevent_hrtimer()

In current code in perf_swevent_hrtimer(), data.period is not
initialized, The result is obvious wrong:

 # ./perf record -f -e cpu-clock make
 # ./perf report
 # Samples: 1740
 #
 # Overhead   Command                                   ......
 # ........  ........  ..........................................
 #
   1025422183050275328.00%        sh  libc-2.9.90.so ...
   1025422183050275328.00%      perl  libperl.so     ...
   1025422168240043264.00%      perl  [kernel]       ...
   1025422030011210752.00%      perl  [kernel]       ...

Signed-off-by: Xiao Guangrong <xiaoguangrong@cn.fujitsu.com>
Acked-by: Peter Zijlstra <peterz@infradead.org>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: <stable@kernel.org>
LKML-Reference: <4B14E220.2050107@cn.fujitsu.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
---
 kernel/perf_event.c |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/kernel/perf_event.c b/kernel/perf_event.c
index 0b9ca2d..040ee51 100644
--- a/kernel/perf_event.c
+++ b/kernel/perf_event.c
@@ -4010,6 +4010,7 @@ static enum hrtimer_restart perf_swevent_hrtimer(struct hrtimer *hrtimer)
 	event->pmu->read(event);
 
 	data.addr = 0;
+	data.period = event->hw.last_period;
 	regs = get_irq_regs();
 	/*
 	 * In case we exclude kernel IPs or are somehow not in interrupt

^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2009-12-01 10:22 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-12-01  9:30 [PATCH] perf_event: initialize data.period in perf_swevent_hrtimer() Xiao Guangrong
2009-12-01  9:37 ` Peter Zijlstra
2009-12-01 10:21 ` [tip:perf/core] perf_event: Initialize " tip-bot for Xiao Guangrong

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.