aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRuss Anderson <rja@sgi.com>2010-05-18 18:52:40 -0400
committerArnaldo Carvalho de Melo <acme@redhat.com>2010-05-20 20:53:58 -0400
commitef365cefbc53d8674a18520a1d4c2e5590127299 (patch)
tree75566178dedd11a685d4240523849ad6787fb549
parentdfacc4d6c98b89609250269f518c1f54c30454ef (diff)
perf record: remove unneeded gettimeofday() call
Perf record repeatedly calls gettimeofday() which adds noise to the performance measurements. Since gettimeofday() is only used for the error printf, delete it. Cc: Ingo Molnar <mingo@elte.hu> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Stephane Eranian <eranian@google.com> LKML-Reference: <20100518225240.GC25589@sgi.com> Signed-off-by: Russ Anderson <rja@sgi.com> Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
-rw-r--r--tools/perf/builtin-record.c17
1 files changed, 1 insertions, 16 deletions
diff --git a/tools/perf/builtin-record.c b/tools/perf/builtin-record.c
index 66b8ecd22cfe..e67226981834 100644
--- a/tools/perf/builtin-record.c
+++ b/tools/perf/builtin-record.c
@@ -65,9 +65,6 @@ static bool multiplex = false;
65static int multiplex_fd = -1; 65static int multiplex_fd = -1;
66 66
67static long samples = 0; 67static long samples = 0;
68static struct timeval last_read;
69static struct timeval this_read;
70
71static u64 bytes_written = 0; 68static u64 bytes_written = 0;
72 69
73static struct pollfd *event_array; 70static struct pollfd *event_array;
@@ -147,8 +144,6 @@ static void mmap_read(struct mmap_data *md)
147 void *buf; 144 void *buf;
148 int diff; 145 int diff;
149 146
150 gettimeofday(&this_read, NULL);
151
152 /* 147 /*
153 * If we're further behind than half the buffer, there's a chance 148 * If we're further behind than half the buffer, there's a chance
154 * the writer will bite our tail and mess up the samples under us. 149 * the writer will bite our tail and mess up the samples under us.
@@ -159,23 +154,13 @@ static void mmap_read(struct mmap_data *md)
159 */ 154 */
160 diff = head - old; 155 diff = head - old;
161 if (diff < 0) { 156 if (diff < 0) {
162 struct timeval iv; 157 fprintf(stderr, "WARNING: failed to keep up with mmap data\n");
163 unsigned long msecs;
164
165 timersub(&this_read, &last_read, &iv);
166 msecs = iv.tv_sec*1000 + iv.tv_usec/1000;
167
168 fprintf(stderr, "WARNING: failed to keep up with mmap data."
169 " Last read %lu msecs ago.\n", msecs);
170
171 /* 158 /*
172 * head points to a known good entry, start there. 159 * head points to a known good entry, start there.
173 */ 160 */
174 old = head; 161 old = head;
175 } 162 }
176 163
177 last_read = this_read;
178
179 if (old != head) 164 if (old != head)
180 samples++; 165 samples++;
181 166