Thread (39 messages) 39 messages, 5 authors, 2011-02-21

Re: [PATCH 2/3] perf events: Introduce realtime clock event

flat view

From: Peter Zijlstra <peterz@infradead.org>
Date: 2011-02-18 11:12:51
Also in: lkml

On Thu, 2011-02-17 at 22:53 -0700, David Ahern wrote:
The motivation for this event is to convert perf_clock() time stamps
to wall-clock (gettimeofday()) equivalents, including adjustments made
by NTP (e.g., for comparing perf events to other log files).
This patch is based on the monotonic patch by Arnaldo Carvalho de Melo
[off-list ref].

(NOTE: Comments from the last review of the timehist patch series
suggested calling this a monotonic clock. I am not trying to be
dense here; since gettimeofday maps to realtime clock I think that
is the better name for it.)
Well, the idea was to use CLOCK_MONOTONIC, not to call CLOCK_REALTIME
monotonic.

I'm really not sure why you want CLOCK_REALTIME and I think
CLOCK_MONOTONIC is more useful (I'd argue you want your system logs to
contain both, every admin who's ever had to untangle what happened
during DST switches will agree)
quoted hunk ↗ jump to hunk
@@ -5610,6 +5612,13 @@ static enum hrtimer_restart perf_swevent_hrtimer(struct hrtimer *hrtimer)
 
 	perf_sample_data_init(&data, 0);
 	data.period = event->hw.last_period;
+	if (event->attr.sample_type & PERF_SAMPLE_RAW) 
+	{
+		raw.size = sizeof(u64);
+		raw.data = &event->count;
+		data.raw = &raw;
+	}
+
 	regs = get_irq_regs();
 
 	if (regs && !perf_exclude_event(event, regs)) {

Why!? you already keep ->count = ktime_get_real(), so simply reading the
count value will get you the timestamp.. this is superfluous at best.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help