Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

[PATCH] perf: export perf_trace_regs and perf_arch_fetch_caller_regs

0 views
Skip to first unread message

Xiao Guangrong

unread,
Mar 11, 2010, 2:40:02 AM3/11/10
to
Export perf_trace_regs and perf_arch_fetch_caller_regs since module will
use these

Signed-off-by: Xiao Guangrong <xiaogu...@cn.fujitsu.com>
---
arch/x86/kernel/cpu/perf_event.c | 1 +
kernel/trace/trace_event_perf.c | 1 +
2 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/arch/x86/kernel/cpu/perf_event.c b/arch/x86/kernel/cpu/perf_event.c
index 4a0514d..8700643 100644
--- a/arch/x86/kernel/cpu/perf_event.c
+++ b/arch/x86/kernel/cpu/perf_event.c
@@ -1697,3 +1697,4 @@ void perf_arch_fetch_caller_regs(struct pt_regs *regs, unsigned long ip, int ski
regs->cs = __KERNEL_CS;
local_save_flags(regs->flags);
}
+EXPORT_SYMBOL_GPL(perf_arch_fetch_caller_regs);
diff --git a/kernel/trace/trace_event_perf.c b/kernel/trace/trace_event_perf.c
index f315b12..af4621b 100644
--- a/kernel/trace/trace_event_perf.c
+++ b/kernel/trace/trace_event_perf.c
@@ -10,6 +10,7 @@
#include "trace.h"

DEFINE_PER_CPU(struct pt_regs, perf_trace_regs);
+EXPORT_SYMBOL_GPL(perf_trace_regs);

static char *perf_trace_buf;
static char *perf_trace_buf_nmi;
--
1.6.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majo...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

Peter Zijlstra

unread,
Mar 11, 2010, 3:40:02 AM3/11/10
to
On Thu, 2010-03-11 at 15:30 +0800, Xiao Guangrong wrote:
> #include "trace.h"
>
> DEFINE_PER_CPU(struct pt_regs, perf_trace_regs);
> +EXPORT_SYMBOL_GPL(perf_trace_regs);

Shouldn't that be:

EXPORT_PER_CPU_SYMBOL_GPL(perf_trace_regs); ?

Christoph Hellwig

unread,
Mar 11, 2010, 4:10:02 AM3/11/10
to
On Thu, Mar 11, 2010 at 03:30:35PM +0800, Xiao Guangrong wrote:
> Export perf_trace_regs and perf_arch_fetch_caller_regs since module will
> use these

What modules exactly? Uusually you add the export together with the
series adding the users.

Christoph Hellwig

unread,
Mar 11, 2010, 4:20:03 AM3/11/10
to
On Thu, Mar 11, 2010 at 10:10:51AM +0100, Peter Zijlstra wrote:
> Pretty much all modular tracepoint users I think, I just got this from a
> pp64_defconfig build:

Interesting, that doesn't happen in mainline yet.

Peter Zijlstra

unread,
Mar 11, 2010, 4:20:03 AM3/11/10
to
On Thu, 2010-03-11 at 04:02 -0500, Christoph Hellwig wrote:
> On Thu, Mar 11, 2010 at 03:30:35PM +0800, Xiao Guangrong wrote:
> > Export perf_trace_regs and perf_arch_fetch_caller_regs since module will
> > use these
>
> What modules exactly? Uusually you add the export together with the
> series adding the users.

Pretty much all modular tracepoint users I think, I just got this from a
pp64_defconfig build:

ERROR: "perf_trace_regs" [fs/xfs/xfs.ko] undefined!
ERROR: ".perf_arch_fetch_caller_regs" [fs/xfs/xfs.ko] undefined!
ERROR: "perf_trace_regs" [arch/powerpc/platforms/cell/spufs/spufs.ko] undefined!
ERROR: ".perf_arch_fetch_caller_regs" [arch/powerpc/platforms/cell/spufs/spufs.ko] undefined!

Frederic Weisbecker

unread,
Mar 11, 2010, 9:20:01 AM3/11/10
to
On Thu, Mar 11, 2010 at 04:14:44AM -0500, Christoph Hellwig wrote:
> On Thu, Mar 11, 2010 at 10:10:51AM +0100, Peter Zijlstra wrote:
> > Pretty much all modular tracepoint users I think, I just got this from a
> > pp64_defconfig build:
>
> Interesting, that doesn't happen in mainline yet.
>


Yeah, it's in -tip.

Thanks guys for this fix. I think I'm unable to remind
there are modules in the kernel, I'm not counting anymore
the number of times I forget to export symbols for modules.

May be I should start to stick posters with photos of modules
entitled "I want to believe" everywhere in my flat.
Or perhaps I'm going to buy electronic glasses that display
modules advertizing in the street. I'm not sure yet but I'll
find a way.

tip-bot for Xiao Guangrong

unread,
Mar 11, 2010, 9:50:02 AM3/11/10
to
Commit-ID: 639fe4b12f92b54c9c3b38c82cdafaa38cfd3e63
Gitweb: http://git.kernel.org/tip/639fe4b12f92b54c9c3b38c82cdafaa38cfd3e63
Author: Xiao Guangrong <xiaogu...@cn.fujitsu.com>
AuthorDate: Thu, 11 Mar 2010 15:30:35 +0800
Committer: Ingo Molnar <mi...@elte.hu>
CommitDate: Thu, 11 Mar 2010 15:21:29 +0100

perf: export perf_trace_regs and perf_arch_fetch_caller_regs

Export perf_trace_regs and perf_arch_fetch_caller_regs since module will

use these.

Signed-off-by: Xiao Guangrong <xiaogu...@cn.fujitsu.com>
[ use EXPORT_PER_CPU_SYMBOL_GPL() ]
Signed-off-by: Peter Zijlstra <a.p.zi...@chello.nl>
LKML-Reference: <4B989C1B...@cn.fujitsu.com>
Signed-off-by: Ingo Molnar <mi...@elte.hu>


---
arch/x86/kernel/cpu/perf_event.c | 1 +
kernel/trace/trace_event_perf.c | 1 +
2 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/arch/x86/kernel/cpu/perf_event.c b/arch/x86/kernel/cpu/perf_event.c
index 5fb490c..7645fae 100644
--- a/arch/x86/kernel/cpu/perf_event.c
+++ b/arch/x86/kernel/cpu/perf_event.c
@@ -1713,3 +1713,4 @@ void perf_arch_fetch_caller_regs(struct pt_regs *regs, unsigned long ip, int ski


regs->cs = __KERNEL_CS;
local_save_flags(regs->flags);
}
+EXPORT_SYMBOL_GPL(perf_arch_fetch_caller_regs);
diff --git a/kernel/trace/trace_event_perf.c b/kernel/trace/trace_event_perf.c

index f315b12..0709e4f 100644


--- a/kernel/trace/trace_event_perf.c
+++ b/kernel/trace/trace_event_perf.c
@@ -10,6 +10,7 @@
#include "trace.h"

DEFINE_PER_CPU(struct pt_regs, perf_trace_regs);

+EXPORT_PER_CPU_SYMBOL_GPL(perf_trace_regs);



static char *perf_trace_buf;
static char *perf_trace_buf_nmi;
--

0 new messages