* [PATCH] perf tools: add support for generating bpf prologue on powerpc
@ 2016-05-05 15:23 Naveen N. Rao
2016-05-06 6:41 ` [tip:perf/core] perf tools powerpc: Add support for generating bpf prologue tip-bot for Naveen N. Rao
2016-05-07 4:15 ` perf tools: add support for generating bpf prologue on powerpc Michael Ellerman
0 siblings, 2 replies; 6+ messages in thread
From: Naveen N. Rao @ 2016-05-05 15:23 UTC (permalink / raw)
To: linux-kernel, linuxppc-dev
Cc: Wang Nan, Arnaldo Carvalho de Melo, Masami Hiramatsu, Ian Munsie,
Michael Ellerman
Generalize existing macros to serve the purpose.
Cc: Wang Nan <wangnan0@huawei.com>
Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
Cc: Masami Hiramatsu <mhiramat@kernel.org>
Cc: Ian Munsie <imunsie@au1.ibm.com>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Signed-off-by: Naveen N. Rao <naveen.n.rao@linux.vnet.ibm.com>
---
With this patch:
# ./perf test 37
37: Test BPF filter :
37.1: Test basic BPF filtering : Ok
37.2: Test BPF prologue generation : Ok
37.3: Test BPF relocation checker : Ok
tools/perf/arch/powerpc/Makefile | 1 +
tools/perf/arch/powerpc/util/dwarf-regs.c | 40 +++++++++++++++++++++----------
2 files changed, 29 insertions(+), 12 deletions(-)
diff --git a/tools/perf/arch/powerpc/Makefile b/tools/perf/arch/powerpc/Makefile
index 56e05f1..cc39309 100644
--- a/tools/perf/arch/powerpc/Makefile
+++ b/tools/perf/arch/powerpc/Makefile
@@ -3,4 +3,5 @@ PERF_HAVE_DWARF_REGS := 1
endif
HAVE_KVM_STAT_SUPPORT := 1
+PERF_HAVE_ARCH_REGS_QUERY_REGISTER_OFFSET := 1
PERF_HAVE_JITDUMP := 1
diff --git a/tools/perf/arch/powerpc/util/dwarf-regs.c b/tools/perf/arch/powerpc/util/dwarf-regs.c
index 733151c..41bdf95 100644
--- a/tools/perf/arch/powerpc/util/dwarf-regs.c
+++ b/tools/perf/arch/powerpc/util/dwarf-regs.c
@@ -10,19 +10,26 @@
*/
#include <stddef.h>
+#include <errno.h>
+#include <string.h>
#include <dwarf-regs.h>
-
+#include <linux/ptrace.h>
+#include <linux/kernel.h>
+#include "util.h"
struct pt_regs_dwarfnum {
const char *name;
unsigned int dwarfnum;
+ unsigned int ptregs_offset;
};
-#define STR(s) #s
-#define REG_DWARFNUM_NAME(r, num) {.name = r, .dwarfnum = num}
-#define GPR_DWARFNUM_NAME(num) \
- {.name = STR(%gpr##num), .dwarfnum = num}
-#define REG_DWARFNUM_END {.name = NULL, .dwarfnum = 0}
+#define REG_DWARFNUM_NAME(r, num) \
+ {.name = STR(%)STR(r), .dwarfnum = num, \
+ .ptregs_offset = offsetof(struct pt_regs, r)}
+#define GPR_DWARFNUM_NAME(num) \
+ {.name = STR(%gpr##num), .dwarfnum = num, \
+ .ptregs_offset = offsetof(struct pt_regs, gpr[num])}
+#define REG_DWARFNUM_END {.name = NULL, .dwarfnum = 0, .ptregs_offset = 0}
/*
* Reference:
@@ -61,12 +68,12 @@ static const struct pt_regs_dwarfnum regdwarfnum_table[] = {
GPR_DWARFNUM_NAME(29),
GPR_DWARFNUM_NAME(30),
GPR_DWARFNUM_NAME(31),
- REG_DWARFNUM_NAME("%msr", 66),
- REG_DWARFNUM_NAME("%ctr", 109),
- REG_DWARFNUM_NAME("%link", 108),
- REG_DWARFNUM_NAME("%xer", 101),
- REG_DWARFNUM_NAME("%dar", 119),
- REG_DWARFNUM_NAME("%dsisr", 118),
+ REG_DWARFNUM_NAME(msr, 66),
+ REG_DWARFNUM_NAME(ctr, 109),
+ REG_DWARFNUM_NAME(link, 108),
+ REG_DWARFNUM_NAME(xer, 101),
+ REG_DWARFNUM_NAME(dar, 119),
+ REG_DWARFNUM_NAME(dsisr, 118),
REG_DWARFNUM_END,
};
@@ -86,3 +93,12 @@ const char *get_arch_regstr(unsigned int n)
return roff->name;
return NULL;
}
+
+int regs_query_register_offset(const char *name)
+{
+ const struct pt_regs_dwarfnum *roff;
+ for (roff = regdwarfnum_table; roff->name != NULL; roff++)
+ if (!strcmp(roff->name, name))
+ return roff->ptregs_offset;
+ return -EINVAL;
+}
--
2.7.4
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [tip:perf/core] perf tools powerpc: Add support for generating bpf prologue
2016-05-05 15:23 [PATCH] perf tools: add support for generating bpf prologue on powerpc Naveen N. Rao
@ 2016-05-06 6:41 ` tip-bot for Naveen N. Rao
2016-05-07 4:15 ` perf tools: add support for generating bpf prologue on powerpc Michael Ellerman
1 sibling, 0 replies; 6+ messages in thread
From: tip-bot for Naveen N. Rao @ 2016-05-06 6:41 UTC (permalink / raw)
To: linux-tip-commits
Cc: imunsie, mhiramat, acme, hpa, linux-kernel, naveen.n.rao, tglx,
wangnan0, mpe, mingo
Commit-ID: 4679bccaa30893ccc5be35c5c5d44f5ab60c0a08
Gitweb: http://git.kernel.org/tip/4679bccaa30893ccc5be35c5c5d44f5ab60c0a08
Author: Naveen N. Rao <naveen.n.rao@linux.vnet.ibm.com>
AuthorDate: Thu, 5 May 2016 20:53:19 +0530
Committer: Arnaldo Carvalho de Melo <acme@redhat.com>
CommitDate: Thu, 5 May 2016 21:03:58 -0300
perf tools powerpc: Add support for generating bpf prologue
Generalize existing macros to serve the purpose.
Signed-off-by: Naveen N. Rao <naveen.n.rao@linux.vnet.ibm.com>
Cc: Ian Munsie <imunsie@au1.ibm.com>
Cc: Masami Hiramatsu <mhiramat@kernel.org>
Cc: Michael Ellerman <mpe@ellerman.id.au>
Cc: Wang Nan <wangnan0@huawei.com>
Cc: linuxppc-dev@lists.ozlabs.org
Link: http://lkml.kernel.org/r/1462461799-17518-1-git-send-email-naveen.n.rao@linux.vnet.ibm.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/perf/arch/powerpc/Makefile | 1 +
tools/perf/arch/powerpc/util/dwarf-regs.c | 40 +++++++++++++++++++++----------
2 files changed, 29 insertions(+), 12 deletions(-)
diff --git a/tools/perf/arch/powerpc/Makefile b/tools/perf/arch/powerpc/Makefile
index 56e05f1..cc39309 100644
--- a/tools/perf/arch/powerpc/Makefile
+++ b/tools/perf/arch/powerpc/Makefile
@@ -3,4 +3,5 @@ PERF_HAVE_DWARF_REGS := 1
endif
HAVE_KVM_STAT_SUPPORT := 1
+PERF_HAVE_ARCH_REGS_QUERY_REGISTER_OFFSET := 1
PERF_HAVE_JITDUMP := 1
diff --git a/tools/perf/arch/powerpc/util/dwarf-regs.c b/tools/perf/arch/powerpc/util/dwarf-regs.c
index 733151c..41bdf95 100644
--- a/tools/perf/arch/powerpc/util/dwarf-regs.c
+++ b/tools/perf/arch/powerpc/util/dwarf-regs.c
@@ -10,19 +10,26 @@
*/
#include <stddef.h>
+#include <errno.h>
+#include <string.h>
#include <dwarf-regs.h>
-
+#include <linux/ptrace.h>
+#include <linux/kernel.h>
+#include "util.h"
struct pt_regs_dwarfnum {
const char *name;
unsigned int dwarfnum;
+ unsigned int ptregs_offset;
};
-#define STR(s) #s
-#define REG_DWARFNUM_NAME(r, num) {.name = r, .dwarfnum = num}
-#define GPR_DWARFNUM_NAME(num) \
- {.name = STR(%gpr##num), .dwarfnum = num}
-#define REG_DWARFNUM_END {.name = NULL, .dwarfnum = 0}
+#define REG_DWARFNUM_NAME(r, num) \
+ {.name = STR(%)STR(r), .dwarfnum = num, \
+ .ptregs_offset = offsetof(struct pt_regs, r)}
+#define GPR_DWARFNUM_NAME(num) \
+ {.name = STR(%gpr##num), .dwarfnum = num, \
+ .ptregs_offset = offsetof(struct pt_regs, gpr[num])}
+#define REG_DWARFNUM_END {.name = NULL, .dwarfnum = 0, .ptregs_offset = 0}
/*
* Reference:
@@ -61,12 +68,12 @@ static const struct pt_regs_dwarfnum regdwarfnum_table[] = {
GPR_DWARFNUM_NAME(29),
GPR_DWARFNUM_NAME(30),
GPR_DWARFNUM_NAME(31),
- REG_DWARFNUM_NAME("%msr", 66),
- REG_DWARFNUM_NAME("%ctr", 109),
- REG_DWARFNUM_NAME("%link", 108),
- REG_DWARFNUM_NAME("%xer", 101),
- REG_DWARFNUM_NAME("%dar", 119),
- REG_DWARFNUM_NAME("%dsisr", 118),
+ REG_DWARFNUM_NAME(msr, 66),
+ REG_DWARFNUM_NAME(ctr, 109),
+ REG_DWARFNUM_NAME(link, 108),
+ REG_DWARFNUM_NAME(xer, 101),
+ REG_DWARFNUM_NAME(dar, 119),
+ REG_DWARFNUM_NAME(dsisr, 118),
REG_DWARFNUM_END,
};
@@ -86,3 +93,12 @@ const char *get_arch_regstr(unsigned int n)
return roff->name;
return NULL;
}
+
+int regs_query_register_offset(const char *name)
+{
+ const struct pt_regs_dwarfnum *roff;
+ for (roff = regdwarfnum_table; roff->name != NULL; roff++)
+ if (!strcmp(roff->name, name))
+ return roff->ptregs_offset;
+ return -EINVAL;
+}
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: perf tools: add support for generating bpf prologue on powerpc
2016-05-05 15:23 [PATCH] perf tools: add support for generating bpf prologue on powerpc Naveen N. Rao
2016-05-06 6:41 ` [tip:perf/core] perf tools powerpc: Add support for generating bpf prologue tip-bot for Naveen N. Rao
@ 2016-05-07 4:15 ` Michael Ellerman
2016-05-07 11:13 ` Naveen N. Rao
2016-05-09 20:14 ` Arnaldo Carvalho de Melo
1 sibling, 2 replies; 6+ messages in thread
From: Michael Ellerman @ 2016-05-07 4:15 UTC (permalink / raw)
To: Naveen N. Rao, linux-kernel, linuxppc-dev
Cc: Arnaldo Carvalho de Melo, Wang Nan, Masami Hiramatsu, Ian Munsie
On Thu, 2016-05-05 at 15:23:19 UTC, "Naveen N. Rao" wrote:
> Generalize existing macros to serve the purpose.
>
> Cc: Wang Nan <wangnan0@huawei.com>
> Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
> Cc: Masami Hiramatsu <mhiramat@kernel.org>
> Cc: Ian Munsie <imunsie@au1.ibm.com>
> Cc: Michael Ellerman <mpe@ellerman.id.au>
> Signed-off-by: Naveen N. Rao <naveen.n.rao@linux.vnet.ibm.com>
> ---
> With this patch:
> # ./perf test 37
> 37: Test BPF filter :
> 37.1: Test basic BPF filtering : Ok
> 37.2: Test BPF prologue generation : Ok
> 37.3: Test BPF relocation checker : Ok
>
> tools/perf/arch/powerpc/Makefile | 1 +
> tools/perf/arch/powerpc/util/dwarf-regs.c | 40 +++++++++++++++++++++----------
> 2 files changed, 29 insertions(+), 12 deletions(-)
Looks feasible, and is in powerpc only code, should I take this or acme?
cheers
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: perf tools: add support for generating bpf prologue on powerpc
2016-05-07 4:15 ` perf tools: add support for generating bpf prologue on powerpc Michael Ellerman
@ 2016-05-07 11:13 ` Naveen N. Rao
2016-05-09 7:53 ` Michael Ellerman
2016-05-09 20:14 ` Arnaldo Carvalho de Melo
1 sibling, 1 reply; 6+ messages in thread
From: Naveen N. Rao @ 2016-05-07 11:13 UTC (permalink / raw)
To: Michael Ellerman
Cc: linux-kernel, linuxppc-dev, Arnaldo Carvalho de Melo, Wang Nan,
Masami Hiramatsu, Ian Munsie
On 2016/05/07 02:15PM, Michael Ellerman wrote:
> On Thu, 2016-05-05 at 15:23:19 UTC, "Naveen N. Rao" wrote:
> > Generalize existing macros to serve the purpose.
> >
> > Cc: Wang Nan <wangnan0@huawei.com>
> > Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
> > Cc: Masami Hiramatsu <mhiramat@kernel.org>
> > Cc: Ian Munsie <imunsie@au1.ibm.com>
> > Cc: Michael Ellerman <mpe@ellerman.id.au>
> > Signed-off-by: Naveen N. Rao <naveen.n.rao@linux.vnet.ibm.com>
> > ---
> > With this patch:
> > # ./perf test 37
> > 37: Test BPF filter :
> > 37.1: Test basic BPF filtering : Ok
> > 37.2: Test BPF prologue generation : Ok
> > 37.3: Test BPF relocation checker : Ok
> >
> > tools/perf/arch/powerpc/Makefile | 1 +
> > tools/perf/arch/powerpc/util/dwarf-regs.c | 40 +++++++++++++++++++++----------
> > 2 files changed, 29 insertions(+), 12 deletions(-)
>
> Looks feasible, and is in powerpc only code, should I take this or acme?
Hi Michael,
Arnaldo has already pulled this in:
http://article.gmane.org/gmane.linux.kernel/2216051
It would be good if you can consider user stackdump as that depends on
perf regs support which you have added to powerpc-next:
http://thread.gmane.org/gmane.linux.kernel/2210299/focus=2210749
Thanks,
Naveen
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: perf tools: add support for generating bpf prologue on powerpc
2016-05-07 11:13 ` Naveen N. Rao
@ 2016-05-09 7:53 ` Michael Ellerman
0 siblings, 0 replies; 6+ messages in thread
From: Michael Ellerman @ 2016-05-09 7:53 UTC (permalink / raw)
To: Naveen N. Rao
Cc: linux-kernel, linuxppc-dev, Arnaldo Carvalho de Melo, Wang Nan,
Masami Hiramatsu, Ian Munsie
On Sat, 2016-05-07 at 16:43 +0530, Naveen N. Rao wrote:
> On 2016/05/07 02:15PM, Michael Ellerman wrote:
> > On Thu, 2016-05-05 at 15:23:19 UTC, "Naveen N. Rao" wrote:
> > > Generalize existing macros to serve the purpose.
> > >
> > > Cc: Wang Nan <wangnan0@huawei.com>
> > > Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
> > > Cc: Masami Hiramatsu <mhiramat@kernel.org>
> > > Cc: Ian Munsie <imunsie@au1.ibm.com>
> > > Cc: Michael Ellerman <mpe@ellerman.id.au>
> > > Signed-off-by: Naveen N. Rao <naveen.n.rao@linux.vnet.ibm.com>
> > > ---
> > > With this patch:
> > > # ./perf test 37
> > > 37: Test BPF filter :
> > > 37.1: Test basic BPF filtering : Ok
> > > 37.2: Test BPF prologue generation : Ok
> > > 37.3: Test BPF relocation checker : Ok
> > >
> > > tools/perf/arch/powerpc/Makefile | 1 +
> > > tools/perf/arch/powerpc/util/dwarf-regs.c | 40 +++++++++++++++++++++----------
> > > 2 files changed, 29 insertions(+), 12 deletions(-)
> >
> > Looks feasible, and is in powerpc only code, should I take this or acme?
>
> Hi Michael,
> Arnaldo has already pulled this in:
> http://article.gmane.org/gmane.linux.kernel/2216051
Ah sorry.
> It would be good if you can consider user stackdump as that depends on
> perf regs support which you have added to powerpc-next:
> http://thread.gmane.org/gmane.linux.kernel/2210299/focus=2210749
Yep I did, it's in next.
https://git.kernel.org/cgit/linux/kernel/git/powerpc/linux.git/commit/?h=next&id=826dccfd238c3eeac379f5f637e5a3ddc7a4bc22
cheers
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: perf tools: add support for generating bpf prologue on powerpc
2016-05-07 4:15 ` perf tools: add support for generating bpf prologue on powerpc Michael Ellerman
2016-05-07 11:13 ` Naveen N. Rao
@ 2016-05-09 20:14 ` Arnaldo Carvalho de Melo
1 sibling, 0 replies; 6+ messages in thread
From: Arnaldo Carvalho de Melo @ 2016-05-09 20:14 UTC (permalink / raw)
To: Michael Ellerman
Cc: Naveen N. Rao, linux-kernel, linuxppc-dev, Wang Nan,
Masami Hiramatsu, Ian Munsie
Em Sat, May 07, 2016 at 02:15:36PM +1000, Michael Ellerman escreveu:
> On Thu, 2016-05-05 at 15:23:19 UTC, "Naveen N. Rao" wrote:
> > Generalize existing macros to serve the purpose.
> >
> > Cc: Wang Nan <wangnan0@huawei.com>
> > Cc: Arnaldo Carvalho de Melo <acme@redhat.com>
> > Cc: Masami Hiramatsu <mhiramat@kernel.org>
> > Cc: Ian Munsie <imunsie@au1.ibm.com>
> > Cc: Michael Ellerman <mpe@ellerman.id.au>
> > Signed-off-by: Naveen N. Rao <naveen.n.rao@linux.vnet.ibm.com>
> > ---
> > With this patch:
> > # ./perf test 37
> > 37: Test BPF filter :
> > 37.1: Test basic BPF filtering : Ok
> > 37.2: Test BPF prologue generation : Ok
> > 37.3: Test BPF relocation checker : Ok
> >
> > tools/perf/arch/powerpc/Makefile | 1 +
> > tools/perf/arch/powerpc/util/dwarf-regs.c | 40 +++++++++++++++++++++----------
> > 2 files changed, 29 insertions(+), 12 deletions(-)
>
> Looks feasible, and is in powerpc only code, should I take this or acme?
Its upstream already :-)
- Arnaldo
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2016-05-09 20:14 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-05-05 15:23 [PATCH] perf tools: add support for generating bpf prologue on powerpc Naveen N. Rao
2016-05-06 6:41 ` [tip:perf/core] perf tools powerpc: Add support for generating bpf prologue tip-bot for Naveen N. Rao
2016-05-07 4:15 ` perf tools: add support for generating bpf prologue on powerpc Michael Ellerman
2016-05-07 11:13 ` Naveen N. Rao
2016-05-09 7:53 ` Michael Ellerman
2016-05-09 20:14 ` Arnaldo Carvalho de Melo
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.