linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] ARC: introduce basic 'perf annotate' support for ARC
@ 2018-12-04 17:51 Eugeniy Paltsev
  2018-12-06 17:14 ` Arnaldo Carvalho de Melo
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Eugeniy Paltsev @ 2018-12-04 17:51 UTC (permalink / raw)
  To: linux-snps-arc, Vineet Gupta
  Cc: linux-kernel, Alexey Brodkin, Peter Zijlstra, Ingo Molnar,
	Arnaldo Carvalho de Melo, Alexander Shishkin, Jiri Olsa,
	Namhyung Kim, Eugeniy Paltsev

Introduce basic 'perf annotate' support for ARC to be able
to use anotation via stdio interface.

Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
---
 tools/perf/arch/arc/annotate/instructions.c |  9 +++++++++
 tools/perf/arch/common.c                    | 11 ++++++++++-
 tools/perf/util/annotate.c                  |  5 +++++
 3 files changed, 24 insertions(+), 1 deletion(-)
 create mode 100644 tools/perf/arch/arc/annotate/instructions.c

diff --git a/tools/perf/arch/arc/annotate/instructions.c b/tools/perf/arch/arc/annotate/instructions.c
new file mode 100644
index 000000000000..2f00e995c7e3
--- /dev/null
+++ b/tools/perf/arch/arc/annotate/instructions.c
@@ -0,0 +1,9 @@
+// SPDX-License-Identifier: GPL-2.0
+#include <linux/compiler.h>
+
+static int arc__annotate_init(struct arch *arch, char *cpuid __maybe_unused)
+{
+	arch->initialized = true;
+	arch->objdump.comment_char = ';';
+	return 0;
+}
diff --git a/tools/perf/arch/common.c b/tools/perf/arch/common.c
index 82657c01a3b8..f7cb57c424d1 100644
--- a/tools/perf/arch/common.c
+++ b/tools/perf/arch/common.c
@@ -5,6 +5,13 @@
 #include "../util/util.h"
 #include "../util/debug.h"
 
+const char *const arc_triplets[] = {
+	"arc-linux-",
+	"arc-snps-linux-uclibc-",
+	"arc-snps-linux-gnu-",
+	NULL
+};
+
 const char *const arm_triplets[] = {
 	"arm-eabi-",
 	"arm-linux-androideabi-",
@@ -147,7 +154,9 @@ static int perf_env__lookup_binutils_path(struct perf_env *env,
 		zfree(&buf);
 	}
 
-	if (!strcmp(arch, "arm"))
+	if (!strcmp(arch, "arc"))
+		path_list = arc_triplets;
+	else if (!strcmp(arch, "arm"))
 		path_list = arm_triplets;
 	else if (!strcmp(arch, "arm64"))
 		path_list = arm64_triplets;
diff --git a/tools/perf/util/annotate.c b/tools/perf/util/annotate.c
index 6936daf89ddd..66066fb4d644 100644
--- a/tools/perf/util/annotate.c
+++ b/tools/perf/util/annotate.c
@@ -134,6 +134,7 @@ static int arch__associate_ins_ops(struct arch* arch, const char *name, struct i
 	return 0;
 }
 
+#include "arch/arc/annotate/instructions.c"
 #include "arch/arm/annotate/instructions.c"
 #include "arch/arm64/annotate/instructions.c"
 #include "arch/x86/annotate/instructions.c"
@@ -142,6 +143,10 @@ static int arch__associate_ins_ops(struct arch* arch, const char *name, struct i
 #include "arch/sparc/annotate/instructions.c"
 
 static struct arch architectures[] = {
+	{
+		.name = "arc",
+		.init = arc__annotate_init,
+	},
 	{
 		.name = "arm",
 		.init = arm__annotate_init,
-- 
2.14.5


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH] ARC: introduce basic 'perf annotate' support for ARC
  2018-12-04 17:51 [PATCH] ARC: introduce basic 'perf annotate' support for ARC Eugeniy Paltsev
@ 2018-12-06 17:14 ` Arnaldo Carvalho de Melo
  2018-12-14 20:59 ` [tip:perf/core] perf annotate: Introduce basic " tip-bot for Eugeniy Paltsev
  2018-12-18 14:26 ` tip-bot for Eugeniy Paltsev
  2 siblings, 0 replies; 4+ messages in thread
From: Arnaldo Carvalho de Melo @ 2018-12-06 17:14 UTC (permalink / raw)
  To: Eugeniy Paltsev
  Cc: linux-snps-arc, Vineet Gupta, linux-kernel, Alexey Brodkin,
	Peter Zijlstra, Ingo Molnar, Alexander Shishkin, Jiri Olsa,
	Namhyung Kim

Em Tue, Dec 04, 2018 at 08:51:18PM +0300, Eugeniy Paltsev escreveu:
> Introduce basic 'perf annotate' support for ARC to be able
> to use anotation via stdio interface.

Would be nice to show the output of a 'perf annotate --stdio2' for a
perf.data file recorded on ARC :-)

- Arnaldo
 
> Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
> ---
>  tools/perf/arch/arc/annotate/instructions.c |  9 +++++++++
>  tools/perf/arch/common.c                    | 11 ++++++++++-
>  tools/perf/util/annotate.c                  |  5 +++++
>  3 files changed, 24 insertions(+), 1 deletion(-)
>  create mode 100644 tools/perf/arch/arc/annotate/instructions.c
> 
> diff --git a/tools/perf/arch/arc/annotate/instructions.c b/tools/perf/arch/arc/annotate/instructions.c
> new file mode 100644
> index 000000000000..2f00e995c7e3
> --- /dev/null
> +++ b/tools/perf/arch/arc/annotate/instructions.c
> @@ -0,0 +1,9 @@
> +// SPDX-License-Identifier: GPL-2.0
> +#include <linux/compiler.h>
> +
> +static int arc__annotate_init(struct arch *arch, char *cpuid __maybe_unused)
> +{
> +	arch->initialized = true;
> +	arch->objdump.comment_char = ';';
> +	return 0;
> +}
> diff --git a/tools/perf/arch/common.c b/tools/perf/arch/common.c
> index 82657c01a3b8..f7cb57c424d1 100644
> --- a/tools/perf/arch/common.c
> +++ b/tools/perf/arch/common.c
> @@ -5,6 +5,13 @@
>  #include "../util/util.h"
>  #include "../util/debug.h"
>  
> +const char *const arc_triplets[] = {
> +	"arc-linux-",
> +	"arc-snps-linux-uclibc-",
> +	"arc-snps-linux-gnu-",
> +	NULL
> +};
> +
>  const char *const arm_triplets[] = {
>  	"arm-eabi-",
>  	"arm-linux-androideabi-",
> @@ -147,7 +154,9 @@ static int perf_env__lookup_binutils_path(struct perf_env *env,
>  		zfree(&buf);
>  	}
>  
> -	if (!strcmp(arch, "arm"))
> +	if (!strcmp(arch, "arc"))
> +		path_list = arc_triplets;
> +	else if (!strcmp(arch, "arm"))
>  		path_list = arm_triplets;
>  	else if (!strcmp(arch, "arm64"))
>  		path_list = arm64_triplets;
> diff --git a/tools/perf/util/annotate.c b/tools/perf/util/annotate.c
> index 6936daf89ddd..66066fb4d644 100644
> --- a/tools/perf/util/annotate.c
> +++ b/tools/perf/util/annotate.c
> @@ -134,6 +134,7 @@ static int arch__associate_ins_ops(struct arch* arch, const char *name, struct i
>  	return 0;
>  }
>  
> +#include "arch/arc/annotate/instructions.c"
>  #include "arch/arm/annotate/instructions.c"
>  #include "arch/arm64/annotate/instructions.c"
>  #include "arch/x86/annotate/instructions.c"
> @@ -142,6 +143,10 @@ static int arch__associate_ins_ops(struct arch* arch, const char *name, struct i
>  #include "arch/sparc/annotate/instructions.c"
>  
>  static struct arch architectures[] = {
> +	{
> +		.name = "arc",
> +		.init = arc__annotate_init,
> +	},
>  	{
>  		.name = "arm",
>  		.init = arm__annotate_init,
> -- 
> 2.14.5

-- 

- Arnaldo

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [tip:perf/core] perf annotate: Introduce basic support for ARC
  2018-12-04 17:51 [PATCH] ARC: introduce basic 'perf annotate' support for ARC Eugeniy Paltsev
  2018-12-06 17:14 ` Arnaldo Carvalho de Melo
@ 2018-12-14 20:59 ` tip-bot for Eugeniy Paltsev
  2018-12-18 14:26 ` tip-bot for Eugeniy Paltsev
  2 siblings, 0 replies; 4+ messages in thread
From: tip-bot for Eugeniy Paltsev @ 2018-12-14 20:59 UTC (permalink / raw)
  To: linux-tip-commits
  Cc: jolsa, acme, peterz, vineet.gupta1, mingo, namhyung,
	Eugeniy.Paltsev, tglx, hpa, alexander.shishkin, linux-kernel,
	alexey.brodkin

Commit-ID:  c6934c91ba76438e4d641209dff32cbfdcaff9a2
Gitweb:     https://git.kernel.org/tip/c6934c91ba76438e4d641209dff32cbfdcaff9a2
Author:     Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
AuthorDate: Tue, 4 Dec 2018 20:51:18 +0300
Committer:  Arnaldo Carvalho de Melo <acme@redhat.com>
CommitDate: Thu, 6 Dec 2018 16:43:27 -0300

perf annotate: Introduce basic support for ARC

Introduce basic 'perf annotate' support for ARC to be able to use
anotation via stdio interface.

Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Alexey Brodkin <alexey.brodkin@synopsys.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: linux-snps-arc@lists.infradead.org
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Vineet Gupta <vineet.gupta1@synopsys.com>
Link: http://lkml.kernel.org/r/20181204175118.25232-1-Eugeniy.Paltsev@synopsys.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
 tools/perf/arch/arc/annotate/instructions.c |  9 +++++++++
 tools/perf/arch/common.c                    | 11 ++++++++++-
 tools/perf/util/annotate.c                  |  5 +++++
 3 files changed, 24 insertions(+), 1 deletion(-)

diff --git a/tools/perf/arch/arc/annotate/instructions.c b/tools/perf/arch/arc/annotate/instructions.c
new file mode 100644
index 000000000000..2f00e995c7e3
--- /dev/null
+++ b/tools/perf/arch/arc/annotate/instructions.c
@@ -0,0 +1,9 @@
+// SPDX-License-Identifier: GPL-2.0
+#include <linux/compiler.h>
+
+static int arc__annotate_init(struct arch *arch, char *cpuid __maybe_unused)
+{
+	arch->initialized = true;
+	arch->objdump.comment_char = ';';
+	return 0;
+}
diff --git a/tools/perf/arch/common.c b/tools/perf/arch/common.c
index 5f69fd0b745a..f3824ca7c20b 100644
--- a/tools/perf/arch/common.c
+++ b/tools/perf/arch/common.c
@@ -5,6 +5,13 @@
 #include "../util/util.h"
 #include "../util/debug.h"
 
+const char *const arc_triplets[] = {
+	"arc-linux-",
+	"arc-snps-linux-uclibc-",
+	"arc-snps-linux-gnu-",
+	NULL
+};
+
 const char *const arm_triplets[] = {
 	"arm-eabi-",
 	"arm-linux-androideabi-",
@@ -147,7 +154,9 @@ static int perf_env__lookup_binutils_path(struct perf_env *env,
 		zfree(&buf);
 	}
 
-	if (!strcmp(arch, "arm"))
+	if (!strcmp(arch, "arc"))
+		path_list = arc_triplets;
+	else if (!strcmp(arch, "arm"))
 		path_list = arm_triplets;
 	else if (!strcmp(arch, "arm64"))
 		path_list = arm64_triplets;
diff --git a/tools/perf/util/annotate.c b/tools/perf/util/annotate.c
index 51d291b0b81f..ac9805e0bc76 100644
--- a/tools/perf/util/annotate.c
+++ b/tools/perf/util/annotate.c
@@ -134,6 +134,7 @@ static int arch__associate_ins_ops(struct arch* arch, const char *name, struct i
 	return 0;
 }
 
+#include "arch/arc/annotate/instructions.c"
 #include "arch/arm/annotate/instructions.c"
 #include "arch/arm64/annotate/instructions.c"
 #include "arch/x86/annotate/instructions.c"
@@ -142,6 +143,10 @@ static int arch__associate_ins_ops(struct arch* arch, const char *name, struct i
 #include "arch/sparc/annotate/instructions.c"
 
 static struct arch architectures[] = {
+	{
+		.name = "arc",
+		.init = arc__annotate_init,
+	},
 	{
 		.name = "arm",
 		.init = arm__annotate_init,

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [tip:perf/core] perf annotate: Introduce basic support for ARC
  2018-12-04 17:51 [PATCH] ARC: introduce basic 'perf annotate' support for ARC Eugeniy Paltsev
  2018-12-06 17:14 ` Arnaldo Carvalho de Melo
  2018-12-14 20:59 ` [tip:perf/core] perf annotate: Introduce basic " tip-bot for Eugeniy Paltsev
@ 2018-12-18 14:26 ` tip-bot for Eugeniy Paltsev
  2 siblings, 0 replies; 4+ messages in thread
From: tip-bot for Eugeniy Paltsev @ 2018-12-18 14:26 UTC (permalink / raw)
  To: linux-tip-commits
  Cc: tglx, hpa, acme, peterz, linux-kernel, namhyung,
	alexander.shishkin, Eugeniy.Paltsev, jolsa, mingo,
	alexey.brodkin, vineet.gupta1

Commit-ID:  6d99a79cb40da3eddafef844b7a679fe5162f224
Gitweb:     https://git.kernel.org/tip/6d99a79cb40da3eddafef844b7a679fe5162f224
Author:     Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
AuthorDate: Tue, 4 Dec 2018 20:51:18 +0300
Committer:  Arnaldo Carvalho de Melo <acme@redhat.com>
CommitDate: Mon, 17 Dec 2018 14:59:42 -0300

perf annotate: Introduce basic support for ARC

Introduce basic 'perf annotate' support for ARC to be able to use
anotation via stdio interface.

Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Alexey Brodkin <alexey.brodkin@synopsys.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: linux-snps-arc@lists.infradead.org
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Vineet Gupta <vineet.gupta1@synopsys.com>
Link: http://lkml.kernel.org/r/20181204175118.25232-1-Eugeniy.Paltsev@synopsys.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
 tools/perf/arch/arc/annotate/instructions.c |  9 +++++++++
 tools/perf/arch/common.c                    | 11 ++++++++++-
 tools/perf/util/annotate.c                  |  5 +++++
 3 files changed, 24 insertions(+), 1 deletion(-)

diff --git a/tools/perf/arch/arc/annotate/instructions.c b/tools/perf/arch/arc/annotate/instructions.c
new file mode 100644
index 000000000000..2f00e995c7e3
--- /dev/null
+++ b/tools/perf/arch/arc/annotate/instructions.c
@@ -0,0 +1,9 @@
+// SPDX-License-Identifier: GPL-2.0
+#include <linux/compiler.h>
+
+static int arc__annotate_init(struct arch *arch, char *cpuid __maybe_unused)
+{
+	arch->initialized = true;
+	arch->objdump.comment_char = ';';
+	return 0;
+}
diff --git a/tools/perf/arch/common.c b/tools/perf/arch/common.c
index 5f69fd0b745a..f3824ca7c20b 100644
--- a/tools/perf/arch/common.c
+++ b/tools/perf/arch/common.c
@@ -5,6 +5,13 @@
 #include "../util/util.h"
 #include "../util/debug.h"
 
+const char *const arc_triplets[] = {
+	"arc-linux-",
+	"arc-snps-linux-uclibc-",
+	"arc-snps-linux-gnu-",
+	NULL
+};
+
 const char *const arm_triplets[] = {
 	"arm-eabi-",
 	"arm-linux-androideabi-",
@@ -147,7 +154,9 @@ static int perf_env__lookup_binutils_path(struct perf_env *env,
 		zfree(&buf);
 	}
 
-	if (!strcmp(arch, "arm"))
+	if (!strcmp(arch, "arc"))
+		path_list = arc_triplets;
+	else if (!strcmp(arch, "arm"))
 		path_list = arm_triplets;
 	else if (!strcmp(arch, "arm64"))
 		path_list = arm64_triplets;
diff --git a/tools/perf/util/annotate.c b/tools/perf/util/annotate.c
index 51d291b0b81f..ac9805e0bc76 100644
--- a/tools/perf/util/annotate.c
+++ b/tools/perf/util/annotate.c
@@ -134,6 +134,7 @@ static int arch__associate_ins_ops(struct arch* arch, const char *name, struct i
 	return 0;
 }
 
+#include "arch/arc/annotate/instructions.c"
 #include "arch/arm/annotate/instructions.c"
 #include "arch/arm64/annotate/instructions.c"
 #include "arch/x86/annotate/instructions.c"
@@ -142,6 +143,10 @@ static int arch__associate_ins_ops(struct arch* arch, const char *name, struct i
 #include "arch/sparc/annotate/instructions.c"
 
 static struct arch architectures[] = {
+	{
+		.name = "arc",
+		.init = arc__annotate_init,
+	},
 	{
 		.name = "arm",
 		.init = arm__annotate_init,

^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2018-12-18 14:27 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-12-04 17:51 [PATCH] ARC: introduce basic 'perf annotate' support for ARC Eugeniy Paltsev
2018-12-06 17:14 ` Arnaldo Carvalho de Melo
2018-12-14 20:59 ` [tip:perf/core] perf annotate: Introduce basic " tip-bot for Eugeniy Paltsev
2018-12-18 14:26 ` tip-bot for Eugeniy Paltsev

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).