aboutsummaryrefslogtreecommitdiffstats
path: root/tools/perf/builtin-top.c
diff options
context:
space:
mode:
authorMike Galbraith <efault@gmx.de>2009-10-13 08:57:20 -0400
committerIngo Molnar <mingo@elte.hu>2009-10-13 09:30:15 -0400
commitf4f0b418188cc7995375acbb54e87c80f21861bd (patch)
tree20c60c9bf367e53d3ddbd5fddd41de9d64fb4ded /tools/perf/builtin-top.c
parentcfed95a693e1ea5d08b9c9019bc30e448437ee2f (diff)
perf tools: Remove expensive old debug code from perf top
Calling gettimeofday() at high frequency is painful for handicapped boxen. The spot calling gettimeofday() is old unneeded debug code, so remove it. Reported-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Mike Galbraith <efault@gmx.de> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl> LKML-Reference: <1255438640.7173.1.camel@marge.simson.net> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'tools/perf/builtin-top.c')
-rw-r--r--tools/perf/builtin-top.c15
1 files changed, 1 insertions, 14 deletions
diff --git a/tools/perf/builtin-top.c b/tools/perf/builtin-top.c
index c0f69e80b2cc..2d8806bac258 100644
--- a/tools/perf/builtin-top.c
+++ b/tools/perf/builtin-top.c
@@ -870,8 +870,6 @@ static unsigned int mmap_read_head(struct mmap_data *md)
870 return head; 870 return head;
871} 871}
872 872
873struct timeval last_read, this_read;
874
875static void mmap_read_counter(struct mmap_data *md) 873static void mmap_read_counter(struct mmap_data *md)
876{ 874{
877 unsigned int head = mmap_read_head(md); 875 unsigned int head = mmap_read_head(md);
@@ -879,8 +877,6 @@ static void mmap_read_counter(struct mmap_data *md)
879 unsigned char *data = md->base + page_size; 877 unsigned char *data = md->base + page_size;
880 int diff; 878 int diff;
881 879
882 gettimeofday(&this_read, NULL);
883
884 /* 880 /*
885 * If we're further behind than half the buffer, there's a chance 881 * If we're further behind than half the buffer, there's a chance
886 * the writer will bite our tail and mess up the samples under us. 882 * the writer will bite our tail and mess up the samples under us.
@@ -891,14 +887,7 @@ static void mmap_read_counter(struct mmap_data *md)
891 */ 887 */
892 diff = head - old; 888 diff = head - old;
893 if (diff > md->mask / 2 || diff < 0) { 889 if (diff > md->mask / 2 || diff < 0) {
894 struct timeval iv; 890 fprintf(stderr, "WARNING: failed to keep up with mmap data.\n");
895 unsigned long msecs;
896
897 timersub(&this_read, &last_read, &iv);
898 msecs = iv.tv_sec*1000 + iv.tv_usec/1000;
899
900 fprintf(stderr, "WARNING: failed to keep up with mmap data."
901 " Last read %lu msecs ago.\n", msecs);
902 891
903 /* 892 /*
904 * head points to a known good entry, start there. 893 * head points to a known good entry, start there.
@@ -906,8 +895,6 @@ static void mmap_read_counter(struct mmap_data *md)
906 old = head; 895 old = head;
907 } 896 }
908 897
909 last_read = this_read;
910
911 for (; old != head;) { 898 for (; old != head;) {
912 event_t *event = (event_t *)&data[old & md->mask]; 899 event_t *event = (event_t *)&data[old & md->mask];
913 900