From: Ingo Molnar <mingo@elte.hu>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: linux-kernel@vger.kernel.org,
Peter Zijlstra <a.p.zijlstra@chello.nl>,
Arjan van de Ven <arjan@infradead.org>,
Paul Mackerras <paulus@samba.org>,
Andrew Morton <akpm@linux-foundation.org>
Subject: [GIT PULL] perf events fixes
Date: Fri, 23 Oct 2009 16:49:17 +0200 [thread overview]
Message-ID: <20091023144917.GA10856@elte.hu> (raw)
Linus,
Please pull the latest perf-fixes-for-linus git tree from:
git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip.git perf-fixes-for-linus
Thanks,
Ingo
------------------>
Arjan van de Ven (2):
perf timechart: Fix the wakeup-arrows that point to non-visible processes
perf timechart: Improve the visual appearance of scheduler delays
Ingo Molnar (1):
perf tools: Bump version to 0.0.2
Paul Mackerras (1):
perf_event: Adjust frequency and unthrottle for non-group-leader events
Tim Blechmann (1):
perf top: Fix --delay_secs 0 division by zero
kernel/perf_event.c | 2 +-
tools/perf/builtin-timechart.c | 28 ++++++++++++++++++++++++++--
tools/perf/builtin-top.c | 2 ++
tools/perf/util/PERF-VERSION-GEN | 2 +-
tools/perf/util/svghelper.c | 2 +-
5 files changed, 31 insertions(+), 5 deletions(-)
diff --git a/kernel/perf_event.c b/kernel/perf_event.c
index 9d0b5c6..afb7ef3 100644
--- a/kernel/perf_event.c
+++ b/kernel/perf_event.c
@@ -1355,7 +1355,7 @@ static void perf_ctx_adjust_freq(struct perf_event_context *ctx)
u64 interrupts, freq;
spin_lock(&ctx->lock);
- list_for_each_entry(event, &ctx->group_list, group_entry) {
+ list_for_each_entry_rcu(event, &ctx->event_list, event_entry) {
if (event->state != PERF_EVENT_STATE_ACTIVE)
continue;
diff --git a/tools/perf/builtin-timechart.c b/tools/perf/builtin-timechart.c
index 702d8fe..e8a510d 100644
--- a/tools/perf/builtin-timechart.c
+++ b/tools/perf/builtin-timechart.c
@@ -765,19 +765,40 @@ static void draw_wakeups(void)
if (c->Y && c->start_time <= we->time && c->end_time >= we->time) {
if (p->pid == we->waker) {
from = c->Y;
- task_from = c->comm;
+ task_from = strdup(c->comm);
}
if (p->pid == we->wakee) {
to = c->Y;
- task_to = c->comm;
+ task_to = strdup(c->comm);
}
}
c = c->next;
}
+ c = p->all;
+ while (c) {
+ if (p->pid == we->waker && !from) {
+ from = c->Y;
+ task_from = strdup(c->comm);
+ }
+ if (p->pid == we->wakee && !to) {
+ to = c->Y;
+ task_to = strdup(c->comm);
+ }
+ c = c->next;
+ }
}
p = p->next;
}
+ if (!task_from) {
+ task_from = malloc(40);
+ sprintf(task_from, "[%i]", we->waker);
+ }
+ if (!task_to) {
+ task_to = malloc(40);
+ sprintf(task_to, "[%i]", we->wakee);
+ }
+
if (we->waker == -1)
svg_interrupt(we->time, to);
else if (from && to && abs(from - to) == 1)
@@ -785,6 +806,9 @@ static void draw_wakeups(void)
else
svg_partial_wakeline(we->time, from, task_from, to, task_to);
we = we->next;
+
+ free(task_from);
+ free(task_to);
}
}
diff --git a/tools/perf/builtin-top.c b/tools/perf/builtin-top.c
index 37512e9..a1b1d10 100644
--- a/tools/perf/builtin-top.c
+++ b/tools/perf/builtin-top.c
@@ -686,6 +686,8 @@ static void handle_keypress(int c)
switch (c) {
case 'd':
prompt_integer(&delay_secs, "Enter display delay");
+ if (delay_secs < 1)
+ delay_secs = 1;
break;
case 'e':
prompt_integer(&print_entries, "Enter display entries (lines)");
diff --git a/tools/perf/util/PERF-VERSION-GEN b/tools/perf/util/PERF-VERSION-GEN
index c561d15..54552a0 100755
--- a/tools/perf/util/PERF-VERSION-GEN
+++ b/tools/perf/util/PERF-VERSION-GEN
@@ -1,7 +1,7 @@
#!/bin/sh
GVF=PERF-VERSION-FILE
-DEF_VER=v0.0.1.PERF
+DEF_VER=v0.0.2.PERF
LF='
'
diff --git a/tools/perf/util/svghelper.c b/tools/perf/util/svghelper.c
index 856655d..b3637db 100644
--- a/tools/perf/util/svghelper.c
+++ b/tools/perf/util/svghelper.c
@@ -103,7 +103,7 @@ void open_svg(const char *filename, int cpus, int rows, u64 start, u64 end)
fprintf(svgfile, " rect.process2 { fill:rgb(180,180,180); fill-opacity:0.9; stroke-width:0; stroke:rgb( 0, 0, 0); } \n");
fprintf(svgfile, " rect.sample { fill:rgb( 0, 0,255); fill-opacity:0.8; stroke-width:0; stroke:rgb( 0, 0, 0); } \n");
fprintf(svgfile, " rect.blocked { fill:rgb(255, 0, 0); fill-opacity:0.5; stroke-width:0; stroke:rgb( 0, 0, 0); } \n");
- fprintf(svgfile, " rect.waiting { fill:rgb(214,214, 0); fill-opacity:0.3; stroke-width:0; stroke:rgb( 0, 0, 0); } \n");
+ fprintf(svgfile, " rect.waiting { fill:rgb(224,214, 0); fill-opacity:0.8; stroke-width:0; stroke:rgb( 0, 0, 0); } \n");
fprintf(svgfile, " rect.WAITING { fill:rgb(255,214, 48); fill-opacity:0.6; stroke-width:0; stroke:rgb( 0, 0, 0); } \n");
fprintf(svgfile, " rect.cpu { fill:rgb(192,192,192); fill-opacity:0.2; stroke-width:0.5; stroke:rgb(128,128,128); } \n");
fprintf(svgfile, " rect.pstate { fill:rgb(128,128,128); fill-opacity:0.8; stroke-width:0; } \n");
next reply other threads:[~2009-10-23 14:49 UTC|newest]
Thread overview: 49+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-10-23 14:49 Ingo Molnar [this message]
-- strict thread matches above, loose matches on Subject: below --
2026-07-11 11:38 Ingo Molnar
2026-07-11 17:14 ` pr-tracker-bot
2026-07-05 7:37 Ingo Molnar
2026-07-05 15:46 ` pr-tracker-bot
2026-05-09 1:40 Ingo Molnar
2026-05-09 3:32 ` pr-tracker-bot
2026-04-12 7:17 Ingo Molnar
2026-04-12 17:45 ` pr-tracker-bot
2026-03-22 8:24 Ingo Molnar
2026-03-22 18:04 ` pr-tracker-bot
2026-03-01 9:00 Ingo Molnar
2026-03-01 21:37 ` pr-tracker-bot
2026-01-24 9:28 Ingo Molnar
2026-01-24 18:00 ` pr-tracker-bot
2025-12-12 9:36 Ingo Molnar
2025-12-13 18:12 ` pr-tracker-bot
2025-11-23 7:45 Ingo Molnar
2025-11-23 16:26 ` pr-tracker-bot
2025-11-01 7:13 Ingo Molnar
2025-11-01 17:41 ` pr-tracker-bot
2025-05-04 7:17 Ingo Molnar
2025-05-04 15:23 ` pr-tracker-bot
2025-04-26 8:35 Ingo Molnar
2025-04-26 17:06 ` pr-tracker-bot
2025-04-18 20:32 Ingo Molnar
2025-04-18 21:15 ` pr-tracker-bot
2025-04-10 21:10 Ingo Molnar
2025-04-10 22:52 ` pr-tracker-bot
2025-03-21 10:39 Ingo Molnar
2025-03-21 17:39 ` pr-tracker-bot
2025-03-07 12:22 Ingo Molnar
2025-03-07 21:04 ` pr-tracker-bot
2025-02-28 19:17 Ingo Molnar
2025-03-01 1:41 ` pr-tracker-bot
2024-06-02 7:08 Ingo Molnar
2024-06-02 16:41 ` pr-tracker-bot
2024-03-17 8:57 Ingo Molnar
2024-03-17 19:34 ` pr-tracker-bot
2023-10-01 8:35 Ingo Molnar
2023-10-01 17:08 ` pr-tracker-bot
2010-09-08 13:00 Ingo Molnar
2010-01-16 16:59 Ingo Molnar
2009-11-10 17:45 Ingo Molnar
2009-11-01 15:36 Ingo Molnar
2009-10-13 18:25 Ingo Molnar
2009-10-08 18:37 Ingo Molnar
2009-10-02 12:42 Ingo Molnar
2009-09-26 12:29 Ingo Molnar
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20091023144917.GA10856@elte.hu \
--to=mingo@elte.hu \
--cc=a.p.zijlstra@chello.nl \
--cc=akpm@linux-foundation.org \
--cc=arjan@infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=paulus@samba.org \
--cc=torvalds@linux-foundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox