Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1277575 > unrolled thread
| Started by | Ekaterina Tumanova <tumanova@linux.vnet.ibm.com> |
|---|---|
| First post | 2015-11-25 17:40 +0100 |
| Last post | 2015-11-26 21:00 +0100 |
| Articles | 9 — 4 participants |
Back to article view | Back to linux.kernel
[PATCH 0/2] Enhance the init of vmlinux_path and add new path Ekaterina Tumanova <tumanova@linux.vnet.ibm.com> - 2015-11-25 17:40 +0100
[PATCH 2/2] perf: add the path to vmlinux.debug Ekaterina Tumanova <tumanova@linux.vnet.ibm.com> - 2015-11-25 17:40 +0100
Re: [PATCH 2/2] perf: add the path to vmlinux.debug Jiri Olsa <jolsa@redhat.com> - 2015-11-26 08:40 +0100
[tip:perf/core] perf symbols: Add the path to vmlinux.debug tip-bot for Ekaterina Tumanova <tipbot@zytor.com> - 2015-11-27 08:50 +0100
[PATCH 1/2] perf: Refactor vmlinux_path_init Ekaterina Tumanova <tumanova@linux.vnet.ibm.com> - 2015-11-25 17:50 +0100
Re: [PATCH 1/2] perf: Refactor vmlinux_path_init Jiri Olsa <jolsa@redhat.com> - 2015-11-26 08:40 +0100
Re: [PATCH 1/2] perf: Refactor vmlinux_path_init Arnaldo Carvalho de Melo <acme@kernel.org> - 2015-11-26 20:50 +0100
[tip:perf/core] perf symbols: Refactor vmlinux_path__init() to ease path additions tip-bot for Ekaterina Tumanova <tipbot@zytor.com> - 2015-11-27 08:50 +0100
Re: [PATCH 0/2] Enhance the init of vmlinux_path and add new path Arnaldo Carvalho de Melo <acme@kernel.org> - 2015-11-26 21:00 +0100
| From | Ekaterina Tumanova <tumanova@linux.vnet.ibm.com> |
|---|---|
| Date | 2015-11-25 17:40 +0100 |
| Subject | [PATCH 0/2] Enhance the init of vmlinux_path and add new path |
| Message-ID | <qyLgR-jU-15@gated-at.bofh.it> |
These pathset improves perf processing of the paths to vmlinux files: 1. it refactors the vmlinux_path__init procedure, to allow a simple usage in future: instead of adding several lines for every future vmlinux path, make it possible to simply add a path itself (1 line) to an array. 2. Some distibutions separate debuginfo to vmlinux.debug file. This patchset adds a path to vmlinux.debug, so that perf could use its symbols. Ekaterina Tumanova (2): perf: Refactor vmlinux_path_init perf: add the path to vmlinux.debug tools/perf/util/symbol.c | 65 +++++++++++++++++++++++++----------------------- 1 file changed, 34 insertions(+), 31 deletions(-) -- 2.3.9 -- 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/
[toc] | [next] | [standalone]
| From | Ekaterina Tumanova <tumanova@linux.vnet.ibm.com> |
|---|---|
| Date | 2015-11-25 17:40 +0100 |
| Subject | [PATCH 2/2] perf: add the path to vmlinux.debug |
| Message-ID | <qyLgS-jU-23@gated-at.bofh.it> |
| In reply to | #1277575 |
Currently when debuginfo is separated to vmlinux.debug, it's contents
get ignored. Let's change that and add it to the vmlinux_path list.
Signed-off-by: Ekaterina Tumanova <tumanova@linux.vnet.ibm.com>
Acked-by: Alexander Yarygin <yarygin@linux.vnet.ibm.com>
---
tools/perf/util/symbol.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/tools/perf/util/symbol.c b/tools/perf/util/symbol.c
index 9335088..8772ff6 100644
--- a/tools/perf/util/symbol.c
+++ b/tools/perf/util/symbol.c
@@ -1869,7 +1869,8 @@ static const char * const vmlinux_paths_upd[] = {
"/boot/vmlinux-%s",
"/usr/lib/debug/boot/vmlinux-%s",
"/lib/modules/%s/build/vmlinux",
- "/usr/lib/debug/lib/modules/%s/vmlinux"
+ "/usr/lib/debug/lib/modules/%s/vmlinux",
+ "/usr/lib/debug/boot/vmlinux-%s.debug"
};
static int vmlinux_path__update(const char *new_entry)
--
2.3.9
--
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/
[toc] | [prev] | [next] | [standalone]
| From | Jiri Olsa <jolsa@redhat.com> |
|---|---|
| Date | 2015-11-26 08:40 +0100 |
| Subject | Re: [PATCH 2/2] perf: add the path to vmlinux.debug |
| Message-ID | <qyZjQ-1Od-27@gated-at.bofh.it> |
| In reply to | #1277579 |
On Wed, Nov 25, 2015 at 05:32:46PM +0100, Ekaterina Tumanova wrote: > Currently when debuginfo is separated to vmlinux.debug, it's contents > get ignored. Let's change that and add it to the vmlinux_path list. > > Signed-off-by: Ekaterina Tumanova <tumanova@linux.vnet.ibm.com> > Acked-by: Alexander Yarygin <yarygin@linux.vnet.ibm.com> Acked-by: Jiri Olsa <jolsa@kernel.org> thanks, jirka -- 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/
[toc] | [prev] | [next] | [standalone]
| From | tip-bot for Ekaterina Tumanova <tipbot@zytor.com> |
|---|---|
| Date | 2015-11-27 08:50 +0100 |
| Subject | [tip:perf/core] perf symbols: Add the path to vmlinux.debug |
| Message-ID | <qzlX5-8k4-41@gated-at.bofh.it> |
| In reply to | #1277579 |
Commit-ID: f55ae9540d16a355e61cb57b035aab9e1ae2da28
Gitweb: http://git.kernel.org/tip/f55ae9540d16a355e61cb57b035aab9e1ae2da28
Author: Ekaterina Tumanova <tumanova@linux.vnet.ibm.com>
AuthorDate: Wed, 25 Nov 2015 17:32:46 +0100
Committer: Arnaldo Carvalho de Melo <acme@redhat.com>
CommitDate: Thu, 26 Nov 2015 16:50:35 -0300
perf symbols: Add the path to vmlinux.debug
Currently when debuginfo is separated to vmlinux.debug, it's contents
get ignored. Let's change that and add it to the vmlinux_path list.
Signed-off-by: Ekaterina Tumanova <tumanova@linux.vnet.ibm.com>
Acked-by: Alexander Yarygin <yarygin@linux.vnet.ibm.com>
Acked-by: Jiri Olsa <jolsa@kernel.org>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Christian Borntraeger <borntraeger@de.ibm.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Naveen N. Rao <naveen.n.rao@linux.vnet.ibm.com>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Wang Nan <wangnan0@huawei.com>
Link: http://lkml.kernel.org/r/1448469166-61363-3-git-send-email-tumanova@linux.vnet.ibm.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/perf/util/symbol.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/tools/perf/util/symbol.c b/tools/perf/util/symbol.c
index e2ac6b6..d51abd2 100644
--- a/tools/perf/util/symbol.c
+++ b/tools/perf/util/symbol.c
@@ -1869,7 +1869,8 @@ static const char * const vmlinux_paths_upd[] = {
"/boot/vmlinux-%s",
"/usr/lib/debug/boot/vmlinux-%s",
"/lib/modules/%s/build/vmlinux",
- "/usr/lib/debug/lib/modules/%s/vmlinux"
+ "/usr/lib/debug/lib/modules/%s/vmlinux",
+ "/usr/lib/debug/boot/vmlinux-%s.debug"
};
static int vmlinux_path__add(const char *new_entry)
--
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/
[toc] | [prev] | [next] | [standalone]
| From | Ekaterina Tumanova <tumanova@linux.vnet.ibm.com> |
|---|---|
| Date | 2015-11-25 17:50 +0100 |
| Subject | [PATCH 1/2] perf: Refactor vmlinux_path_init |
| Message-ID | <qyLqy-nr-11@gated-at.bofh.it> |
| In reply to | #1277575 |
Refactor vmlinux_path_init function to ease subsequent additions of
new vmlinux locations.
Signed-off-by: Ekaterina Tumanova <tumanova@linux.vnet.ibm.com>
Acked-by: Alexander Yarygin <yarygin@linux.vnet.ibm.com>
---
tools/perf/util/symbol.c | 64 +++++++++++++++++++++++++-----------------------
1 file changed, 33 insertions(+), 31 deletions(-)
diff --git a/tools/perf/util/symbol.c b/tools/perf/util/symbol.c
index cd08027..9335088 100644
--- a/tools/perf/util/symbol.c
+++ b/tools/perf/util/symbol.c
@@ -1860,24 +1860,43 @@ static void vmlinux_path__exit(void)
zfree(&vmlinux_path);
}
+static const char * const vmlinux_paths[] = {
+ "vmlinux",
+ "/boot/vmlinux"
+};
+
+static const char * const vmlinux_paths_upd[] = {
+ "/boot/vmlinux-%s",
+ "/usr/lib/debug/boot/vmlinux-%s",
+ "/lib/modules/%s/build/vmlinux",
+ "/usr/lib/debug/lib/modules/%s/vmlinux"
+};
+
+static int vmlinux_path__update(const char *new_entry)
+{
+ vmlinux_path[vmlinux_path__nr_entries] = strdup(new_entry);
+ if (vmlinux_path[vmlinux_path__nr_entries] == NULL)
+ return -1;
+ ++vmlinux_path__nr_entries;
+
+ return 0;
+}
+
static int vmlinux_path__init(struct perf_env *env)
{
struct utsname uts;
char bf[PATH_MAX];
char *kernel_version;
+ unsigned int i;
- vmlinux_path = malloc(sizeof(char *) * 6);
+ vmlinux_path = malloc(sizeof(char *) * (ARRAY_SIZE(vmlinux_paths) +
+ ARRAY_SIZE(vmlinux_paths_upd)));
if (vmlinux_path == NULL)
return -1;
- vmlinux_path[vmlinux_path__nr_entries] = strdup("vmlinux");
- if (vmlinux_path[vmlinux_path__nr_entries] == NULL)
- goto out_fail;
- ++vmlinux_path__nr_entries;
- vmlinux_path[vmlinux_path__nr_entries] = strdup("/boot/vmlinux");
- if (vmlinux_path[vmlinux_path__nr_entries] == NULL)
- goto out_fail;
- ++vmlinux_path__nr_entries;
+ for (i = 0; i < ARRAY_SIZE(vmlinux_paths); i++)
+ if (vmlinux_path__update(vmlinux_paths[i]) < 0)
+ goto out_fail;
/* only try kernel version if no symfs was given */
if (symbol_conf.symfs[0] != 0)
@@ -1892,28 +1911,11 @@ static int vmlinux_path__init(struct perf_env *env)
kernel_version = uts.release;
}
- snprintf(bf, sizeof(bf), "/boot/vmlinux-%s", kernel_version);
- vmlinux_path[vmlinux_path__nr_entries] = strdup(bf);
- if (vmlinux_path[vmlinux_path__nr_entries] == NULL)
- goto out_fail;
- ++vmlinux_path__nr_entries;
- snprintf(bf, sizeof(bf), "/usr/lib/debug/boot/vmlinux-%s",
- kernel_version);
- vmlinux_path[vmlinux_path__nr_entries] = strdup(bf);
- if (vmlinux_path[vmlinux_path__nr_entries] == NULL)
- goto out_fail;
- ++vmlinux_path__nr_entries;
- snprintf(bf, sizeof(bf), "/lib/modules/%s/build/vmlinux", kernel_version);
- vmlinux_path[vmlinux_path__nr_entries] = strdup(bf);
- if (vmlinux_path[vmlinux_path__nr_entries] == NULL)
- goto out_fail;
- ++vmlinux_path__nr_entries;
- snprintf(bf, sizeof(bf), "/usr/lib/debug/lib/modules/%s/vmlinux",
- kernel_version);
- vmlinux_path[vmlinux_path__nr_entries] = strdup(bf);
- if (vmlinux_path[vmlinux_path__nr_entries] == NULL)
- goto out_fail;
- ++vmlinux_path__nr_entries;
+ for (i = 0; i < ARRAY_SIZE(vmlinux_paths_upd); i++) {
+ snprintf(bf, sizeof(bf), vmlinux_paths_upd[i], kernel_version);
+ if (vmlinux_path__update(bf) < 0)
+ goto out_fail;
+ }
return 0;
--
2.3.9
--
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/
[toc] | [prev] | [next] | [standalone]
| From | Jiri Olsa <jolsa@redhat.com> |
|---|---|
| Date | 2015-11-26 08:40 +0100 |
| Subject | Re: [PATCH 1/2] perf: Refactor vmlinux_path_init |
| Message-ID | <qyZjP-1Od-11@gated-at.bofh.it> |
| In reply to | #1277602 |
On Wed, Nov 25, 2015 at 05:32:45PM +0100, Ekaterina Tumanova wrote: > Refactor vmlinux_path_init function to ease subsequent additions of > new vmlinux locations. > > Signed-off-by: Ekaterina Tumanova <tumanova@linux.vnet.ibm.com> > Acked-by: Alexander Yarygin <yarygin@linux.vnet.ibm.com> Acked-by: Jiri Olsa <jolsa@kernel.org> thanks, jirka -- 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/
[toc] | [prev] | [next] | [standalone]
| From | Arnaldo Carvalho de Melo <acme@kernel.org> |
|---|---|
| Date | 2015-11-26 20:50 +0100 |
| Subject | Re: [PATCH 1/2] perf: Refactor vmlinux_path_init |
| Message-ID | <qzaIi-13l-21@gated-at.bofh.it> |
| In reply to | #1277602 |
Em Wed, Nov 25, 2015 at 05:32:45PM +0100, Ekaterina Tumanova escreveu:
> Refactor vmlinux_path_init function to ease subsequent additions of
> new vmlinux locations.
>
> Signed-off-by: Ekaterina Tumanova <tumanova@linux.vnet.ibm.com>
> Acked-by: Alexander Yarygin <yarygin@linux.vnet.ibm.com>
> ---
> tools/perf/util/symbol.c | 64 +++++++++++++++++++++++++-----------------------
> 1 file changed, 33 insertions(+), 31 deletions(-)
>
> diff --git a/tools/perf/util/symbol.c b/tools/perf/util/symbol.c
> index cd08027..9335088 100644
> --- a/tools/perf/util/symbol.c
> +++ b/tools/perf/util/symbol.c
> @@ -1860,24 +1860,43 @@ static void vmlinux_path__exit(void)
> zfree(&vmlinux_path);
> }
>
> +static const char * const vmlinux_paths[] = {
> + "vmlinux",
> + "/boot/vmlinux"
> +};
> +
> +static const char * const vmlinux_paths_upd[] = {
> + "/boot/vmlinux-%s",
> + "/usr/lib/debug/boot/vmlinux-%s",
> + "/lib/modules/%s/build/vmlinux",
> + "/usr/lib/debug/lib/modules/%s/vmlinux"
> +};
> +
> +static int vmlinux_path__update(const char *new_entry)
Changing this to vmlinux_path__add().
> +{
> + vmlinux_path[vmlinux_path__nr_entries] = strdup(new_entry);
> + if (vmlinux_path[vmlinux_path__nr_entries] == NULL)
> + return -1;
> + ++vmlinux_path__nr_entries;
> +
> + return 0;
> +}
> +
> static int vmlinux_path__init(struct perf_env *env)
> {
> struct utsname uts;
> char bf[PATH_MAX];
> char *kernel_version;
> + unsigned int i;
>
> - vmlinux_path = malloc(sizeof(char *) * 6);
> + vmlinux_path = malloc(sizeof(char *) * (ARRAY_SIZE(vmlinux_paths) +
> + ARRAY_SIZE(vmlinux_paths_upd)));
> if (vmlinux_path == NULL)
> return -1;
>
> - vmlinux_path[vmlinux_path__nr_entries] = strdup("vmlinux");
> - if (vmlinux_path[vmlinux_path__nr_entries] == NULL)
> - goto out_fail;
> - ++vmlinux_path__nr_entries;
> - vmlinux_path[vmlinux_path__nr_entries] = strdup("/boot/vmlinux");
> - if (vmlinux_path[vmlinux_path__nr_entries] == NULL)
> - goto out_fail;
> - ++vmlinux_path__nr_entries;
> + for (i = 0; i < ARRAY_SIZE(vmlinux_paths); i++)
> + if (vmlinux_path__update(vmlinux_paths[i]) < 0)
> + goto out_fail;
>
> /* only try kernel version if no symfs was given */
> if (symbol_conf.symfs[0] != 0)
> @@ -1892,28 +1911,11 @@ static int vmlinux_path__init(struct perf_env *env)
> kernel_version = uts.release;
> }
>
> - snprintf(bf, sizeof(bf), "/boot/vmlinux-%s", kernel_version);
> - vmlinux_path[vmlinux_path__nr_entries] = strdup(bf);
> - if (vmlinux_path[vmlinux_path__nr_entries] == NULL)
> - goto out_fail;
> - ++vmlinux_path__nr_entries;
> - snprintf(bf, sizeof(bf), "/usr/lib/debug/boot/vmlinux-%s",
> - kernel_version);
> - vmlinux_path[vmlinux_path__nr_entries] = strdup(bf);
> - if (vmlinux_path[vmlinux_path__nr_entries] == NULL)
> - goto out_fail;
> - ++vmlinux_path__nr_entries;
> - snprintf(bf, sizeof(bf), "/lib/modules/%s/build/vmlinux", kernel_version);
> - vmlinux_path[vmlinux_path__nr_entries] = strdup(bf);
> - if (vmlinux_path[vmlinux_path__nr_entries] == NULL)
> - goto out_fail;
> - ++vmlinux_path__nr_entries;
> - snprintf(bf, sizeof(bf), "/usr/lib/debug/lib/modules/%s/vmlinux",
> - kernel_version);
> - vmlinux_path[vmlinux_path__nr_entries] = strdup(bf);
> - if (vmlinux_path[vmlinux_path__nr_entries] == NULL)
> - goto out_fail;
> - ++vmlinux_path__nr_entries;
> + for (i = 0; i < ARRAY_SIZE(vmlinux_paths_upd); i++) {
> + snprintf(bf, sizeof(bf), vmlinux_paths_upd[i], kernel_version);
> + if (vmlinux_path__update(bf) < 0)
> + goto out_fail;
> + }
>
> return 0;
>
> --
> 2.3.9
--
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/
[toc] | [prev] | [next] | [standalone]
| From | tip-bot for Ekaterina Tumanova <tipbot@zytor.com> |
|---|---|
| Date | 2015-11-27 08:50 +0100 |
| Subject | [tip:perf/core] perf symbols: Refactor vmlinux_path__init() to ease path additions |
| Message-ID | <qzlX4-8k4-25@gated-at.bofh.it> |
| In reply to | #1277602 |
Commit-ID: aac4864727f4b3838ec1c03277bbc47a237b7516
Gitweb: http://git.kernel.org/tip/aac4864727f4b3838ec1c03277bbc47a237b7516
Author: Ekaterina Tumanova <tumanova@linux.vnet.ibm.com>
AuthorDate: Wed, 25 Nov 2015 17:32:45 +0100
Committer: Arnaldo Carvalho de Melo <acme@redhat.com>
CommitDate: Thu, 26 Nov 2015 16:49:29 -0300
perf symbols: Refactor vmlinux_path__init() to ease path additions
Refactor vmlinux_path__init() to ease subsequent additions of new
vmlinux locations.
Signed-off-by: Ekaterina Tumanova <tumanova@linux.vnet.ibm.com>
Acked-by: Alexander Yarygin <yarygin@linux.vnet.ibm.com>
Acked-by: Jiri Olsa <jolsa@kernel.org>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Christian Borntraeger <borntraeger@de.ibm.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Naveen N. Rao <naveen.n.rao@linux.vnet.ibm.com>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Wang Nan <wangnan0@huawei.com>
Link: http://lkml.kernel.org/r/1448469166-61363-2-git-send-email-tumanova@linux.vnet.ibm.com
[ Rename vmlinux_path__update() to vmlinux_path__add() ]
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
tools/perf/util/symbol.c | 64 +++++++++++++++++++++++++-----------------------
1 file changed, 33 insertions(+), 31 deletions(-)
diff --git a/tools/perf/util/symbol.c b/tools/perf/util/symbol.c
index cd08027..e2ac6b6 100644
--- a/tools/perf/util/symbol.c
+++ b/tools/perf/util/symbol.c
@@ -1860,24 +1860,43 @@ static void vmlinux_path__exit(void)
zfree(&vmlinux_path);
}
+static const char * const vmlinux_paths[] = {
+ "vmlinux",
+ "/boot/vmlinux"
+};
+
+static const char * const vmlinux_paths_upd[] = {
+ "/boot/vmlinux-%s",
+ "/usr/lib/debug/boot/vmlinux-%s",
+ "/lib/modules/%s/build/vmlinux",
+ "/usr/lib/debug/lib/modules/%s/vmlinux"
+};
+
+static int vmlinux_path__add(const char *new_entry)
+{
+ vmlinux_path[vmlinux_path__nr_entries] = strdup(new_entry);
+ if (vmlinux_path[vmlinux_path__nr_entries] == NULL)
+ return -1;
+ ++vmlinux_path__nr_entries;
+
+ return 0;
+}
+
static int vmlinux_path__init(struct perf_env *env)
{
struct utsname uts;
char bf[PATH_MAX];
char *kernel_version;
+ unsigned int i;
- vmlinux_path = malloc(sizeof(char *) * 6);
+ vmlinux_path = malloc(sizeof(char *) * (ARRAY_SIZE(vmlinux_paths) +
+ ARRAY_SIZE(vmlinux_paths_upd)));
if (vmlinux_path == NULL)
return -1;
- vmlinux_path[vmlinux_path__nr_entries] = strdup("vmlinux");
- if (vmlinux_path[vmlinux_path__nr_entries] == NULL)
- goto out_fail;
- ++vmlinux_path__nr_entries;
- vmlinux_path[vmlinux_path__nr_entries] = strdup("/boot/vmlinux");
- if (vmlinux_path[vmlinux_path__nr_entries] == NULL)
- goto out_fail;
- ++vmlinux_path__nr_entries;
+ for (i = 0; i < ARRAY_SIZE(vmlinux_paths); i++)
+ if (vmlinux_path__add(vmlinux_paths[i]) < 0)
+ goto out_fail;
/* only try kernel version if no symfs was given */
if (symbol_conf.symfs[0] != 0)
@@ -1892,28 +1911,11 @@ static int vmlinux_path__init(struct perf_env *env)
kernel_version = uts.release;
}
- snprintf(bf, sizeof(bf), "/boot/vmlinux-%s", kernel_version);
- vmlinux_path[vmlinux_path__nr_entries] = strdup(bf);
- if (vmlinux_path[vmlinux_path__nr_entries] == NULL)
- goto out_fail;
- ++vmlinux_path__nr_entries;
- snprintf(bf, sizeof(bf), "/usr/lib/debug/boot/vmlinux-%s",
- kernel_version);
- vmlinux_path[vmlinux_path__nr_entries] = strdup(bf);
- if (vmlinux_path[vmlinux_path__nr_entries] == NULL)
- goto out_fail;
- ++vmlinux_path__nr_entries;
- snprintf(bf, sizeof(bf), "/lib/modules/%s/build/vmlinux", kernel_version);
- vmlinux_path[vmlinux_path__nr_entries] = strdup(bf);
- if (vmlinux_path[vmlinux_path__nr_entries] == NULL)
- goto out_fail;
- ++vmlinux_path__nr_entries;
- snprintf(bf, sizeof(bf), "/usr/lib/debug/lib/modules/%s/vmlinux",
- kernel_version);
- vmlinux_path[vmlinux_path__nr_entries] = strdup(bf);
- if (vmlinux_path[vmlinux_path__nr_entries] == NULL)
- goto out_fail;
- ++vmlinux_path__nr_entries;
+ for (i = 0; i < ARRAY_SIZE(vmlinux_paths_upd); i++) {
+ snprintf(bf, sizeof(bf), vmlinux_paths_upd[i], kernel_version);
+ if (vmlinux_path__add(bf) < 0)
+ goto out_fail;
+ }
return 0;
--
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/
[toc] | [prev] | [next] | [standalone]
| From | Arnaldo Carvalho de Melo <acme@kernel.org> |
|---|---|
| Date | 2015-11-26 21:00 +0100 |
| Message-ID | <qzaRX-16M-3@gated-at.bofh.it> |
| In reply to | #1277575 |
Em Wed, Nov 25, 2015 at 05:32:44PM +0100, Ekaterina Tumanova escreveu: > These pathset improves perf processing of the paths to vmlinux files: > 1. it refactors the vmlinux_path__init procedure, to allow a simple > usage in future: instead of adding several lines for every future vmlinux path, > make it possible to simply add a path itself (1 line) to an array. > 2. Some distibutions separate debuginfo to vmlinux.debug file. This patchset > adds a path to vmlinux.debug, so that perf could use its symbols. > > Ekaterina Tumanova (2): > perf: Refactor vmlinux_path_init > perf: add the path to vmlinux.debug Applied both, after renaming vmlinux_path__update() to vmlinux_path__add(), as this "adds" entries to vmlinux_path. - Arnaldo -- 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/
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web