linux.kernel - 25 new messages in 15 topics - digest
linux.kernel
http://groups.google.com/group/linux.kernel?hl=en
Today's topics:
* Bug 14594: fix for 2.6.31.8 ? - 2 messages, 2 authors
http://groups.google.com/group/linux.kernel/t/7ab16a105eb9cb52?hl=en
* [GIT PULL] tracing: stack tracing - 2 messages, 2 authors
http://groups.google.com/group/linux.kernel/t/784e919b72ae883a?hl=en
* perf session: Adopt resolve_callchain - 1 messages, 1 author
http://groups.google.com/group/linux.kernel/t/5996c58e89a3b260?hl=en
* perf updates - 1 messages, 1 author
http://groups.google.com/group/linux.kernel/t/9b7db197bb1a4462?hl=en
* vmscan: limit concurrent reclaimers in shrink_zone - 2 messages, 2 authors
http://groups.google.com/group/linux.kernel/t/a99f9348e2fa4b15?hl=en
* sched: Use rcu in sched_get_rr_param() - 3 messages, 1 author
http://groups.google.com/group/linux.kernel/t/9fba4d60fa9db0a2?hl=en
* BUSINESS OFFER - 1 messages, 1 author
http://groups.google.com/group/linux.kernel/t/431da4c30f8555cf?hl=en
* Constify struct address_space_operations for 2.6.32-git-053fe57ac v2 - 1
messages, 1 author
http://groups.google.com/group/linux.kernel/t/89a04870a737d7bf?hl=en
* TOMOYO: Use RCU primitives for list operation - 1 messages, 1 author
http://groups.google.com/group/linux.kernel/t/a981845be30c41c7?hl=en
* staging/vt66*: kconfig, depends on WLAN - 3 messages, 1 author
http://groups.google.com/group/linux.kernel/t/0caa1d51e4ccdc08?hl=en
* Patch series for introduce voltage selecting for mc13783 regulators. - 4
messages, 1 author
http://groups.google.com/group/linux.kernel/t/55b56e96af8a56d5?hl=en
* BUG null dereference in drivers/ata/sata_mv.c - 1 messages, 1 author
http://groups.google.com/group/linux.kernel/t/a827c55fe03774ee?hl=en
* utrace core - 1 messages, 1 author
http://groups.google.com/group/linux.kernel/t/5487cd6b2b95e9b2?hl=en
* perf session: event statistics also are per session - 1 messages, 1 author
http://groups.google.com/group/linux.kernel/t/df5a348d38d0f4be?hl=en
* au1xxx-ide.c: ioremap() returns a void __iomem * - 1 messages, 1 author
http://groups.google.com/group/linux.kernel/t/088aee5a4d870b11?hl=en
==============================================================================
TOPIC: Bug 14594: fix for 2.6.31.8 ?
http://groups.google.com/group/linux.kernel/t/7ab16a105eb9cb52?hl=en
==============================================================================
== 1 of 2 ==
Date: Mon, Dec 14 2009 8:30 am
From: Frank Schaefer
Greg KH schrieb:
> On Mon, Dec 14, 2009 at 04:55:24PM +0100, Frank Schaefer wrote:
>
>> Bug 14594 has been fixed with commit
>> e29d4363174949a7a4e46f670993d7ff43342c1c for 2.6.32 a month ago, but
>> 2.6.28 - 2.6.31.7 are still affected.
>> Any plans to apply this at least for 2.6.31.8, too ?
>>
>
> It was never sent to the stable@kernel.org alias so how would I know to
> apply this?
>
I suspected that... no problem.
Btw, am I the one who is supposed to close this bug, too ? ;)
> I'll queue it up for the next round.
>
> thanks,
>
> greg k-h
>
Thanks,
Frank Schaefer
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
== 2 of 2 ==
Date: Mon, Dec 14 2009 8:40 am
From: Greg KH
On Mon, Dec 14, 2009 at 05:25:15PM +0100, Frank Schaefer wrote:
> Greg KH schrieb:
> > On Mon, Dec 14, 2009 at 04:55:24PM +0100, Frank Schaefer wrote:
> >
> >> Bug 14594 has been fixed with commit
> >> e29d4363174949a7a4e46f670993d7ff43342c1c for 2.6.32 a month ago, but
> >> 2.6.28 - 2.6.31.7 are still affected.
> >> Any plans to apply this at least for 2.6.31.8, too ?
> >>
> >
> > It was never sent to the stable@kernel.org alias so how would I know to
> > apply this?
> >
> I suspected that... no problem.
> Btw, am I the one who is supposed to close this bug, too ? ;)
I have no idea, the owner should.
greg k-h
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
==============================================================================
TOPIC: [GIT PULL] tracing: stack tracing
http://groups.google.com/group/linux.kernel/t/784e919b72ae883a?hl=en
==============================================================================
== 1 of 2 ==
Date: Mon, Dec 14 2009 8:30 am
From: Ingo Molnar
FYI, i noticed this new warning:
kernel/trace/trace.c: In function 'trace_dump_stack':
kernel/trace/trace.c:1161: warning: 'return' with a value, in function returning void
Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
== 2 of 2 ==
Date: Mon, Dec 14 2009 8:50 am
From: Steven Rostedt
On Mon, 2009-12-14 at 17:27 +0100, Ingo Molnar wrote:
> FYI, i noticed this new warning:
>
> kernel/trace/trace.c: In function 'trace_dump_stack':
> kernel/trace/trace.c:1161: warning: 'return' with a value, in function returning void
Hmm,
I could have sworn I tested for warnings, this must have slipped under
the radar :-/
I'll fix ASAP.
-- Steve
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
==============================================================================
TOPIC: perf session: Adopt resolve_callchain
http://groups.google.com/group/linux.kernel/t/5996c58e89a3b260?hl=en
==============================================================================
== 1 of 1 ==
Date: Mon, Dec 14 2009 8:30 am
From: Arnaldo Carvalho de Melo
From: Arnaldo Carvalho de Melo <acme@redhat.com>
This is really a generic library routine, so declutter builtin-report.c
a bit by moving it to the library.
Cc: Frédéric Weisbecker <fweisbec@gmail.com>
Cc: Mike Galbraith <efault@gmx.de>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Paul Mackerras <paulus@samba.org>
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/perf/builtin-report.c | 62 +-----------------------------------------
tools/perf/util/session.c | 59 ++++++++++++++++++++++++++++++++++++++++
tools/perf/util/session.h | 7 +++++
3 files changed, 68 insertions(+), 60 deletions(-)
diff --git a/tools/perf/builtin-report.c b/tools/perf/builtin-report.c
index 854427f..5141cdc 100644
--- a/tools/perf/builtin-report.c
+++ b/tools/perf/builtin-report.c
@@ -407,64 +407,6 @@ static int thread__set_comm_adjust(struct thread *self, const char *comm)
return 0;
}
-static int call__match(struct symbol *sym)
-{
- if (sym->name && !regexec(&parent_regex, sym->name, 0, NULL, 0))
- return 1;
-
- return 0;
-}
-
-static struct symbol **resolve_callchain(struct thread *thread,
- struct perf_session *session,
- struct ip_callchain *chain,
- struct symbol **parent)
-{
- u8 cpumode = PERF_RECORD_MISC_USER;
- struct symbol **syms = NULL;
- unsigned int i;
-
- if (session->use_callchain) {
- syms = calloc(chain->nr, sizeof(*syms));
- if (!syms) {
- fprintf(stderr, "Can't allocate memory for symbols\n");
- exit(-1);
- }
- }
-
- for (i = 0; i < chain->nr; i++) {
- u64 ip = chain->ips[i];
- struct addr_location al;
-
- if (ip >= PERF_CONTEXT_MAX) {
- switch (ip) {
- case PERF_CONTEXT_HV:
- cpumode = PERF_RECORD_MISC_HYPERVISOR; break;
- case PERF_CONTEXT_KERNEL:
- cpumode = PERF_RECORD_MISC_KERNEL; break;
- case PERF_CONTEXT_USER:
- cpumode = PERF_RECORD_MISC_USER; break;
- default:
- break;
- }
- continue;
- }
-
- thread__find_addr_location(thread, session, cpumode,
- MAP__FUNCTION, ip, &al, NULL);
- if (al.sym != NULL) {
- if (sort__has_parent && !*parent &&
- call__match(al.sym))
- *parent = al.sym;
- if (!session->use_callchain)
- break;
- syms[i] = al.sym;
- }
- }
-
- return syms;
-}
-
/*
* collect histogram counts
*/
@@ -478,8 +420,8 @@ static int perf_session__add_hist_entry(struct perf_session *self,
struct hist_entry *he;
if ((sort__has_parent || self->use_callchain) && chain)
- syms = resolve_callchain(al->thread, self, chain, &parent);
-
+ syms = perf_session__resolve_callchain(self, al->thread,
+ chain, &parent);
he = __perf_session__add_hist_entry(self, al, parent, count, &hit);
if (he == NULL)
return -ENOMEM;
diff --git a/tools/perf/util/session.c b/tools/perf/util/session.c
index fe87a2f..ecd54be 100644
--- a/tools/perf/util/session.c
+++ b/tools/perf/util/session.c
@@ -4,6 +4,7 @@
#include <sys/types.h>
#include "session.h"
+#include "sort.h"
#include "util.h"
static int perf_session__open(struct perf_session *self, bool force)
@@ -90,3 +91,61 @@ void perf_session__delete(struct perf_session *self)
free(self->cwd);
free(self);
}
+
+static bool symbol__match_parent_regex(struct symbol *sym)
+{
+ if (sym->name && !regexec(&parent_regex, sym->name, 0, NULL, 0))
+ return 1;
+
+ return 0;
+}
+
+struct symbol **perf_session__resolve_callchain(struct perf_session *self,
+ struct thread *thread,
+ struct ip_callchain *chain,
+ struct symbol **parent)
+{
+ u8 cpumode = PERF_RECORD_MISC_USER;
+ struct symbol **syms = NULL;
+ unsigned int i;
+
+ if (self->use_callchain) {
+ syms = calloc(chain->nr, sizeof(*syms));
+ if (!syms) {
+ fprintf(stderr, "Can't allocate memory for symbols\n");
+ exit(-1);
+ }
+ }
+
+ for (i = 0; i < chain->nr; i++) {
+ u64 ip = chain->ips[i];
+ struct addr_location al;
+
+ if (ip >= PERF_CONTEXT_MAX) {
+ switch (ip) {
+ case PERF_CONTEXT_HV:
+ cpumode = PERF_RECORD_MISC_HYPERVISOR; break;
+ case PERF_CONTEXT_KERNEL:
+ cpumode = PERF_RECORD_MISC_KERNEL; break;
+ case PERF_CONTEXT_USER:
+ cpumode = PERF_RECORD_MISC_USER; break;
+ default:
+ break;
+ }
+ continue;
+ }
+
+ thread__find_addr_location(thread, self, cpumode,
+ MAP__FUNCTION, ip, &al, NULL);
+ if (al.sym != NULL) {
+ if (sort__has_parent && !*parent &&
+ symbol__match_parent_regex(al.sym))
+ *parent = al.sym;
+ if (!self->use_callchain)
+ break;
+ syms[i] = al.sym;
+ }
+ }
+
+ return syms;
+}
diff --git a/tools/perf/util/session.h b/tools/perf/util/session.h
index 759d960..a8f3a49 100644
--- a/tools/perf/util/session.h
+++ b/tools/perf/util/session.h
@@ -6,7 +6,9 @@
#include "thread.h"
#include <linux/rbtree.h>
+struct ip_callchain;
struct thread;
+struct symbol;
struct symbol_conf;
struct perf_session {
@@ -50,6 +52,11 @@ void perf_session__delete(struct perf_session *self);
int perf_session__process_events(struct perf_session *self,
struct perf_event_ops *event_ops);
+struct symbol **perf_session__resolve_callchain(struct perf_session *self,
+ struct thread *thread,
+ struct ip_callchain *chain,
+ struct symbol **parent);
+
int perf_header__read_build_ids(int input, u64 offset, u64 file_size);
0 Comments:
Post a Comment
Subscribe to Post Comments [Atom]
<< Home