Revision tags: v6.6.35, v6.6.34, v6.6.33, v6.6.32, v6.6.31, v6.6.30, v6.6.29, v6.6.28, v6.6.27, v6.6.26, v6.6.25 |
|
#
73c6ddb4 |
| 04-Apr-2024 |
Namhyung Kim <namhyung@kernel.org> |
perf annotate: Fix annotation_calc_lines() to pass correct address to get_srcline()
[ Upstream commit aaf494cf483a1a835c44e942861429b30a00cab0 ]
It should pass a proper address (i.e. suitable for o
perf annotate: Fix annotation_calc_lines() to pass correct address to get_srcline()
[ Upstream commit aaf494cf483a1a835c44e942861429b30a00cab0 ]
It should pass a proper address (i.e. suitable for objdump or addr2line) to get_srcline() in order to work correctly. It used to pass an address with map__rip_2objdump() as the second argument but later it's changed to use notes->start. It's ok in normal cases but it can be changed when annotate_opts.full_addr is set. So let's convert the address directly instead of using the notes->start.
Also the last argument is an IP to print symbol offset if requested. So it should pass symbol-relative address.
Fixes: 7d18a824b5e57ddd ("perf annotate: Toggle full address <-> offset display") Signed-off-by: Namhyung Kim <namhyung@kernel.org> Cc: Adrian Hunter <adrian.hunter@intel.com> Cc: Ian Rogers <irogers@google.com> Cc: Ingo Molnar <mingo@kernel.org> Cc: Jiri Olsa <jolsa@kernel.org> Cc: Kan Liang <kan.liang@linux.intel.com> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Peter Zijlstra <peterz@infradead.org> Link: https://lore.kernel.org/r/20240404175716.1225482-2-namhyung@kernel.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
show more ...
|
Revision tags: v6.6.24, v6.6.23, v6.6.16, v6.6.15, v6.6.14, v6.6.13, v6.6.12, v6.6.11, v6.6.10, v6.6.9, v6.6.8, v6.6.7, v6.6.6, v6.6.5, v6.6.4 |
|
#
80e06e54 |
| 28-Nov-2023 |
Namhyung Kim <namhyung@kernel.org> |
perf annotate: Use global annotation_options
[ Upstream commit 41fd3cacd29f47f6b9c6474b27c5b0513786c4e9 ]
Now it can directly use the global options and no need to pass it as an argument.
Reviewed
perf annotate: Use global annotation_options
[ Upstream commit 41fd3cacd29f47f6b9c6474b27c5b0513786c4e9 ]
Now it can directly use the global options and no need to pass it as an argument.
Reviewed-by: Ian Rogers <irogers@google.com> Signed-off-by: Namhyung Kim <namhyung@kernel.org> Cc: Adrian Hunter <adrian.hunter@intel.com> Cc: Ingo Molnar <mingo@kernel.org> Cc: Jiri Olsa <jolsa@kernel.org> Cc: Peter Zijlstra <peterz@infradead.org> Link: https://lore.kernel.org/r/20231128175441.721579-5-namhyung@kernel.org [ Fixup build with GTK2=1 ] Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> Stable-dep-of: aaf494cf483a ("perf annotate: Fix annotation_calc_lines() to pass correct address to get_srcline()") Signed-off-by: Sasha Levin <sashal@kernel.org>
show more ...
|
#
dfd02119 |
| 28-Nov-2023 |
Namhyung Kim <namhyung@kernel.org> |
perf annotate: Introduce global annotation_options
[ Upstream commit 9d03194a36345796d4f0f8d6b72eb770a45d614e ]
The annotation options are to control the behavior of objdump and the output. It's b
perf annotate: Introduce global annotation_options
[ Upstream commit 9d03194a36345796d4f0f8d6b72eb770a45d614e ]
The annotation options are to control the behavior of objdump and the output. It's basically used by 'perf annotate' but 'perf report' and 'perf top' can call it on TUI dynamically.
But it doesn't need to have a copy of annotation options in many places.
As most of the work is done in the util/annotate.c file, add a global variable and set/use it instead of having their own copies.
Reviewed-by: Ian Rogers <irogers@google.com> Signed-off-by: Namhyung Kim <namhyung@kernel.org> Cc: Adrian Hunter <adrian.hunter@intel.com> Cc: Ingo Molnar <mingo@kernel.org> Cc: Jiri Olsa <jolsa@kernel.org> Cc: Peter Zijlstra <peterz@infradead.org> Link: https://lore.kernel.org/r/20231128175441.721579-2-namhyung@kernel.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> Stable-dep-of: aaf494cf483a ("perf annotate: Fix annotation_calc_lines() to pass correct address to get_srcline()") Signed-off-by: Sasha Levin <sashal@kernel.org>
show more ...
|
Revision tags: v6.6.3, v6.6.2, v6.5.11, v6.6.1 |
|
#
260de043 |
| 03-Nov-2023 |
Namhyung Kim <namhyung@kernel.org> |
perf annotate: Split branch stack cycles information out of 'struct annotation_line'
[ Upstream commit de2c7eb59c342d1a61124caaf2993e325a9becb7 ]
The cycles info is used only when branch stack is p
perf annotate: Split branch stack cycles information out of 'struct annotation_line'
[ Upstream commit de2c7eb59c342d1a61124caaf2993e325a9becb7 ]
The cycles info is used only when branch stack is provided. Separate them from 'struct annotation_line' into a separate struct and lazy allocate them to save some memory.
Committer notes:
Make annotation__compute_ipc() check if the lazy allocation works, bailing out if so, its callers already do error checking and propagation.
Signed-off-by: Namhyung Kim <namhyung@kernel.org> Cc: Adrian Hunter <adrian.hunter@intel.com> Cc: Christophe JAILLET <christophe.jaillet@wanadoo.fr> Cc: Ian Rogers <irogers@google.com> Cc: Ingo Molnar <mingo@kernel.org> Cc: Jiri Olsa <jolsa@kernel.org> Cc: Peter Zijlstra <peterz@infradead.org> Link: https://lore.kernel.org/r/20231103191907.54531-2-namhyung@kernel.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> Stable-dep-of: aaf494cf483a ("perf annotate: Fix annotation_calc_lines() to pass correct address to get_srcline()") Signed-off-by: Sasha Levin <sashal@kernel.org>
show more ...
|
Revision tags: v6.6.35, v6.6.34, v6.6.33, v6.6.32, v6.6.31, v6.6.30, v6.6.29, v6.6.28, v6.6.27, v6.6.26, v6.6.25 |
|
#
73c6ddb4 |
| 04-Apr-2024 |
Namhyung Kim <namhyung@kernel.org> |
perf annotate: Fix annotation_calc_lines() to pass correct address to get_srcline()
[ Upstream commit aaf494cf483a1a835c44e942861429b30a00cab0 ]
It should pass a proper address (i.e. suitable for o
perf annotate: Fix annotation_calc_lines() to pass correct address to get_srcline()
[ Upstream commit aaf494cf483a1a835c44e942861429b30a00cab0 ]
It should pass a proper address (i.e. suitable for objdump or addr2line) to get_srcline() in order to work correctly. It used to pass an address with map__rip_2objdump() as the second argument but later it's changed to use notes->start. It's ok in normal cases but it can be changed when annotate_opts.full_addr is set. So let's convert the address directly instead of using the notes->start.
Also the last argument is an IP to print symbol offset if requested. So it should pass symbol-relative address.
Fixes: 7d18a824b5e57ddd ("perf annotate: Toggle full address <-> offset display") Signed-off-by: Namhyung Kim <namhyung@kernel.org> Cc: Adrian Hunter <adrian.hunter@intel.com> Cc: Ian Rogers <irogers@google.com> Cc: Ingo Molnar <mingo@kernel.org> Cc: Jiri Olsa <jolsa@kernel.org> Cc: Kan Liang <kan.liang@linux.intel.com> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Peter Zijlstra <peterz@infradead.org> Link: https://lore.kernel.org/r/20240404175716.1225482-2-namhyung@kernel.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
show more ...
|
Revision tags: v6.6.24, v6.6.23, v6.6.16, v6.6.15, v6.6.14, v6.6.13, v6.6.12, v6.6.11, v6.6.10, v6.6.9, v6.6.8, v6.6.7, v6.6.6, v6.6.5, v6.6.4 |
|
#
80e06e54 |
| 28-Nov-2023 |
Namhyung Kim <namhyung@kernel.org> |
perf annotate: Use global annotation_options
[ Upstream commit 41fd3cacd29f47f6b9c6474b27c5b0513786c4e9 ]
Now it can directly use the global options and no need to pass it as an argument.
Reviewed
perf annotate: Use global annotation_options
[ Upstream commit 41fd3cacd29f47f6b9c6474b27c5b0513786c4e9 ]
Now it can directly use the global options and no need to pass it as an argument.
Reviewed-by: Ian Rogers <irogers@google.com> Signed-off-by: Namhyung Kim <namhyung@kernel.org> Cc: Adrian Hunter <adrian.hunter@intel.com> Cc: Ingo Molnar <mingo@kernel.org> Cc: Jiri Olsa <jolsa@kernel.org> Cc: Peter Zijlstra <peterz@infradead.org> Link: https://lore.kernel.org/r/20231128175441.721579-5-namhyung@kernel.org [ Fixup build with GTK2=1 ] Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> Stable-dep-of: aaf494cf483a ("perf annotate: Fix annotation_calc_lines() to pass correct address to get_srcline()") Signed-off-by: Sasha Levin <sashal@kernel.org>
show more ...
|
#
dfd02119 |
| 28-Nov-2023 |
Namhyung Kim <namhyung@kernel.org> |
perf annotate: Introduce global annotation_options
[ Upstream commit 9d03194a36345796d4f0f8d6b72eb770a45d614e ]
The annotation options are to control the behavior of objdump and the output. It's b
perf annotate: Introduce global annotation_options
[ Upstream commit 9d03194a36345796d4f0f8d6b72eb770a45d614e ]
The annotation options are to control the behavior of objdump and the output. It's basically used by 'perf annotate' but 'perf report' and 'perf top' can call it on TUI dynamically.
But it doesn't need to have a copy of annotation options in many places.
As most of the work is done in the util/annotate.c file, add a global variable and set/use it instead of having their own copies.
Reviewed-by: Ian Rogers <irogers@google.com> Signed-off-by: Namhyung Kim <namhyung@kernel.org> Cc: Adrian Hunter <adrian.hunter@intel.com> Cc: Ingo Molnar <mingo@kernel.org> Cc: Jiri Olsa <jolsa@kernel.org> Cc: Peter Zijlstra <peterz@infradead.org> Link: https://lore.kernel.org/r/20231128175441.721579-2-namhyung@kernel.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> Stable-dep-of: aaf494cf483a ("perf annotate: Fix annotation_calc_lines() to pass correct address to get_srcline()") Signed-off-by: Sasha Levin <sashal@kernel.org>
show more ...
|
Revision tags: v6.6.3, v6.6.2, v6.5.11, v6.6.1 |
|
#
260de043 |
| 03-Nov-2023 |
Namhyung Kim <namhyung@kernel.org> |
perf annotate: Split branch stack cycles information out of 'struct annotation_line'
[ Upstream commit de2c7eb59c342d1a61124caaf2993e325a9becb7 ]
The cycles info is used only when branch stack is p
perf annotate: Split branch stack cycles information out of 'struct annotation_line'
[ Upstream commit de2c7eb59c342d1a61124caaf2993e325a9becb7 ]
The cycles info is used only when branch stack is provided. Separate them from 'struct annotation_line' into a separate struct and lazy allocate them to save some memory.
Committer notes:
Make annotation__compute_ipc() check if the lazy allocation works, bailing out if so, its callers already do error checking and propagation.
Signed-off-by: Namhyung Kim <namhyung@kernel.org> Cc: Adrian Hunter <adrian.hunter@intel.com> Cc: Christophe JAILLET <christophe.jaillet@wanadoo.fr> Cc: Ian Rogers <irogers@google.com> Cc: Ingo Molnar <mingo@kernel.org> Cc: Jiri Olsa <jolsa@kernel.org> Cc: Peter Zijlstra <peterz@infradead.org> Link: https://lore.kernel.org/r/20231103191907.54531-2-namhyung@kernel.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> Stable-dep-of: aaf494cf483a ("perf annotate: Fix annotation_calc_lines() to pass correct address to get_srcline()") Signed-off-by: Sasha Levin <sashal@kernel.org>
show more ...
|
Revision tags: v6.6.35, v6.6.34, v6.6.33, v6.6.32, v6.6.31, v6.6.30, v6.6.29, v6.6.28, v6.6.27, v6.6.26, v6.6.25 |
|
#
73c6ddb4 |
| 04-Apr-2024 |
Namhyung Kim <namhyung@kernel.org> |
perf annotate: Fix annotation_calc_lines() to pass correct address to get_srcline()
[ Upstream commit aaf494cf483a1a835c44e942861429b30a00cab0 ]
It should pass a proper address (i.e. suitable for o
perf annotate: Fix annotation_calc_lines() to pass correct address to get_srcline()
[ Upstream commit aaf494cf483a1a835c44e942861429b30a00cab0 ]
It should pass a proper address (i.e. suitable for objdump or addr2line) to get_srcline() in order to work correctly. It used to pass an address with map__rip_2objdump() as the second argument but later it's changed to use notes->start. It's ok in normal cases but it can be changed when annotate_opts.full_addr is set. So let's convert the address directly instead of using the notes->start.
Also the last argument is an IP to print symbol offset if requested. So it should pass symbol-relative address.
Fixes: 7d18a824b5e57ddd ("perf annotate: Toggle full address <-> offset display") Signed-off-by: Namhyung Kim <namhyung@kernel.org> Cc: Adrian Hunter <adrian.hunter@intel.com> Cc: Ian Rogers <irogers@google.com> Cc: Ingo Molnar <mingo@kernel.org> Cc: Jiri Olsa <jolsa@kernel.org> Cc: Kan Liang <kan.liang@linux.intel.com> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Peter Zijlstra <peterz@infradead.org> Link: https://lore.kernel.org/r/20240404175716.1225482-2-namhyung@kernel.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
show more ...
|
Revision tags: v6.6.24, v6.6.23, v6.6.16, v6.6.15, v6.6.14, v6.6.13, v6.6.12, v6.6.11, v6.6.10, v6.6.9, v6.6.8, v6.6.7, v6.6.6, v6.6.5, v6.6.4 |
|
#
80e06e54 |
| 28-Nov-2023 |
Namhyung Kim <namhyung@kernel.org> |
perf annotate: Use global annotation_options
[ Upstream commit 41fd3cacd29f47f6b9c6474b27c5b0513786c4e9 ]
Now it can directly use the global options and no need to pass it as an argument.
Reviewed
perf annotate: Use global annotation_options
[ Upstream commit 41fd3cacd29f47f6b9c6474b27c5b0513786c4e9 ]
Now it can directly use the global options and no need to pass it as an argument.
Reviewed-by: Ian Rogers <irogers@google.com> Signed-off-by: Namhyung Kim <namhyung@kernel.org> Cc: Adrian Hunter <adrian.hunter@intel.com> Cc: Ingo Molnar <mingo@kernel.org> Cc: Jiri Olsa <jolsa@kernel.org> Cc: Peter Zijlstra <peterz@infradead.org> Link: https://lore.kernel.org/r/20231128175441.721579-5-namhyung@kernel.org [ Fixup build with GTK2=1 ] Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> Stable-dep-of: aaf494cf483a ("perf annotate: Fix annotation_calc_lines() to pass correct address to get_srcline()") Signed-off-by: Sasha Levin <sashal@kernel.org>
show more ...
|
#
dfd02119 |
| 28-Nov-2023 |
Namhyung Kim <namhyung@kernel.org> |
perf annotate: Introduce global annotation_options
[ Upstream commit 9d03194a36345796d4f0f8d6b72eb770a45d614e ]
The annotation options are to control the behavior of objdump and the output. It's b
perf annotate: Introduce global annotation_options
[ Upstream commit 9d03194a36345796d4f0f8d6b72eb770a45d614e ]
The annotation options are to control the behavior of objdump and the output. It's basically used by 'perf annotate' but 'perf report' and 'perf top' can call it on TUI dynamically.
But it doesn't need to have a copy of annotation options in many places.
As most of the work is done in the util/annotate.c file, add a global variable and set/use it instead of having their own copies.
Reviewed-by: Ian Rogers <irogers@google.com> Signed-off-by: Namhyung Kim <namhyung@kernel.org> Cc: Adrian Hunter <adrian.hunter@intel.com> Cc: Ingo Molnar <mingo@kernel.org> Cc: Jiri Olsa <jolsa@kernel.org> Cc: Peter Zijlstra <peterz@infradead.org> Link: https://lore.kernel.org/r/20231128175441.721579-2-namhyung@kernel.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> Stable-dep-of: aaf494cf483a ("perf annotate: Fix annotation_calc_lines() to pass correct address to get_srcline()") Signed-off-by: Sasha Levin <sashal@kernel.org>
show more ...
|
Revision tags: v6.6.3, v6.6.2, v6.5.11, v6.6.1 |
|
#
260de043 |
| 03-Nov-2023 |
Namhyung Kim <namhyung@kernel.org> |
perf annotate: Split branch stack cycles information out of 'struct annotation_line'
[ Upstream commit de2c7eb59c342d1a61124caaf2993e325a9becb7 ]
The cycles info is used only when branch stack is p
perf annotate: Split branch stack cycles information out of 'struct annotation_line'
[ Upstream commit de2c7eb59c342d1a61124caaf2993e325a9becb7 ]
The cycles info is used only when branch stack is provided. Separate them from 'struct annotation_line' into a separate struct and lazy allocate them to save some memory.
Committer notes:
Make annotation__compute_ipc() check if the lazy allocation works, bailing out if so, its callers already do error checking and propagation.
Signed-off-by: Namhyung Kim <namhyung@kernel.org> Cc: Adrian Hunter <adrian.hunter@intel.com> Cc: Christophe JAILLET <christophe.jaillet@wanadoo.fr> Cc: Ian Rogers <irogers@google.com> Cc: Ingo Molnar <mingo@kernel.org> Cc: Jiri Olsa <jolsa@kernel.org> Cc: Peter Zijlstra <peterz@infradead.org> Link: https://lore.kernel.org/r/20231103191907.54531-2-namhyung@kernel.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> Stable-dep-of: aaf494cf483a ("perf annotate: Fix annotation_calc_lines() to pass correct address to get_srcline()") Signed-off-by: Sasha Levin <sashal@kernel.org>
show more ...
|
Revision tags: v6.6.35, v6.6.34, v6.6.33, v6.6.32, v6.6.31, v6.6.30, v6.6.29, v6.6.28, v6.6.27, v6.6.26, v6.6.25 |
|
#
73c6ddb4 |
| 04-Apr-2024 |
Namhyung Kim <namhyung@kernel.org> |
perf annotate: Fix annotation_calc_lines() to pass correct address to get_srcline()
[ Upstream commit aaf494cf483a1a835c44e942861429b30a00cab0 ]
It should pass a proper address (i.e. suitable for o
perf annotate: Fix annotation_calc_lines() to pass correct address to get_srcline()
[ Upstream commit aaf494cf483a1a835c44e942861429b30a00cab0 ]
It should pass a proper address (i.e. suitable for objdump or addr2line) to get_srcline() in order to work correctly. It used to pass an address with map__rip_2objdump() as the second argument but later it's changed to use notes->start. It's ok in normal cases but it can be changed when annotate_opts.full_addr is set. So let's convert the address directly instead of using the notes->start.
Also the last argument is an IP to print symbol offset if requested. So it should pass symbol-relative address.
Fixes: 7d18a824b5e57ddd ("perf annotate: Toggle full address <-> offset display") Signed-off-by: Namhyung Kim <namhyung@kernel.org> Cc: Adrian Hunter <adrian.hunter@intel.com> Cc: Ian Rogers <irogers@google.com> Cc: Ingo Molnar <mingo@kernel.org> Cc: Jiri Olsa <jolsa@kernel.org> Cc: Kan Liang <kan.liang@linux.intel.com> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Peter Zijlstra <peterz@infradead.org> Link: https://lore.kernel.org/r/20240404175716.1225482-2-namhyung@kernel.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
show more ...
|
Revision tags: v6.6.24, v6.6.23, v6.6.16, v6.6.15, v6.6.14, v6.6.13, v6.6.12, v6.6.11, v6.6.10, v6.6.9, v6.6.8, v6.6.7, v6.6.6, v6.6.5, v6.6.4 |
|
#
80e06e54 |
| 28-Nov-2023 |
Namhyung Kim <namhyung@kernel.org> |
perf annotate: Use global annotation_options
[ Upstream commit 41fd3cacd29f47f6b9c6474b27c5b0513786c4e9 ]
Now it can directly use the global options and no need to pass it as an argument.
Reviewed
perf annotate: Use global annotation_options
[ Upstream commit 41fd3cacd29f47f6b9c6474b27c5b0513786c4e9 ]
Now it can directly use the global options and no need to pass it as an argument.
Reviewed-by: Ian Rogers <irogers@google.com> Signed-off-by: Namhyung Kim <namhyung@kernel.org> Cc: Adrian Hunter <adrian.hunter@intel.com> Cc: Ingo Molnar <mingo@kernel.org> Cc: Jiri Olsa <jolsa@kernel.org> Cc: Peter Zijlstra <peterz@infradead.org> Link: https://lore.kernel.org/r/20231128175441.721579-5-namhyung@kernel.org [ Fixup build with GTK2=1 ] Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> Stable-dep-of: aaf494cf483a ("perf annotate: Fix annotation_calc_lines() to pass correct address to get_srcline()") Signed-off-by: Sasha Levin <sashal@kernel.org>
show more ...
|
#
dfd02119 |
| 28-Nov-2023 |
Namhyung Kim <namhyung@kernel.org> |
perf annotate: Introduce global annotation_options
[ Upstream commit 9d03194a36345796d4f0f8d6b72eb770a45d614e ]
The annotation options are to control the behavior of objdump and the output. It's b
perf annotate: Introduce global annotation_options
[ Upstream commit 9d03194a36345796d4f0f8d6b72eb770a45d614e ]
The annotation options are to control the behavior of objdump and the output. It's basically used by 'perf annotate' but 'perf report' and 'perf top' can call it on TUI dynamically.
But it doesn't need to have a copy of annotation options in many places.
As most of the work is done in the util/annotate.c file, add a global variable and set/use it instead of having their own copies.
Reviewed-by: Ian Rogers <irogers@google.com> Signed-off-by: Namhyung Kim <namhyung@kernel.org> Cc: Adrian Hunter <adrian.hunter@intel.com> Cc: Ingo Molnar <mingo@kernel.org> Cc: Jiri Olsa <jolsa@kernel.org> Cc: Peter Zijlstra <peterz@infradead.org> Link: https://lore.kernel.org/r/20231128175441.721579-2-namhyung@kernel.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> Stable-dep-of: aaf494cf483a ("perf annotate: Fix annotation_calc_lines() to pass correct address to get_srcline()") Signed-off-by: Sasha Levin <sashal@kernel.org>
show more ...
|
Revision tags: v6.6.3, v6.6.2, v6.5.11, v6.6.1 |
|
#
260de043 |
| 03-Nov-2023 |
Namhyung Kim <namhyung@kernel.org> |
perf annotate: Split branch stack cycles information out of 'struct annotation_line'
[ Upstream commit de2c7eb59c342d1a61124caaf2993e325a9becb7 ]
The cycles info is used only when branch stack is p
perf annotate: Split branch stack cycles information out of 'struct annotation_line'
[ Upstream commit de2c7eb59c342d1a61124caaf2993e325a9becb7 ]
The cycles info is used only when branch stack is provided. Separate them from 'struct annotation_line' into a separate struct and lazy allocate them to save some memory.
Committer notes:
Make annotation__compute_ipc() check if the lazy allocation works, bailing out if so, its callers already do error checking and propagation.
Signed-off-by: Namhyung Kim <namhyung@kernel.org> Cc: Adrian Hunter <adrian.hunter@intel.com> Cc: Christophe JAILLET <christophe.jaillet@wanadoo.fr> Cc: Ian Rogers <irogers@google.com> Cc: Ingo Molnar <mingo@kernel.org> Cc: Jiri Olsa <jolsa@kernel.org> Cc: Peter Zijlstra <peterz@infradead.org> Link: https://lore.kernel.org/r/20231103191907.54531-2-namhyung@kernel.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> Stable-dep-of: aaf494cf483a ("perf annotate: Fix annotation_calc_lines() to pass correct address to get_srcline()") Signed-off-by: Sasha Levin <sashal@kernel.org>
show more ...
|
Revision tags: v6.6.35, v6.6.34, v6.6.33, v6.6.32, v6.6.31, v6.6.30, v6.6.29, v6.6.28, v6.6.27, v6.6.26, v6.6.25 |
|
#
73c6ddb4 |
| 04-Apr-2024 |
Namhyung Kim <namhyung@kernel.org> |
perf annotate: Fix annotation_calc_lines() to pass correct address to get_srcline()
[ Upstream commit aaf494cf483a1a835c44e942861429b30a00cab0 ]
It should pass a proper address (i.e. suitable for o
perf annotate: Fix annotation_calc_lines() to pass correct address to get_srcline()
[ Upstream commit aaf494cf483a1a835c44e942861429b30a00cab0 ]
It should pass a proper address (i.e. suitable for objdump or addr2line) to get_srcline() in order to work correctly. It used to pass an address with map__rip_2objdump() as the second argument but later it's changed to use notes->start. It's ok in normal cases but it can be changed when annotate_opts.full_addr is set. So let's convert the address directly instead of using the notes->start.
Also the last argument is an IP to print symbol offset if requested. So it should pass symbol-relative address.
Fixes: 7d18a824b5e57ddd ("perf annotate: Toggle full address <-> offset display") Signed-off-by: Namhyung Kim <namhyung@kernel.org> Cc: Adrian Hunter <adrian.hunter@intel.com> Cc: Ian Rogers <irogers@google.com> Cc: Ingo Molnar <mingo@kernel.org> Cc: Jiri Olsa <jolsa@kernel.org> Cc: Kan Liang <kan.liang@linux.intel.com> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Peter Zijlstra <peterz@infradead.org> Link: https://lore.kernel.org/r/20240404175716.1225482-2-namhyung@kernel.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
show more ...
|
Revision tags: v6.6.24, v6.6.23, v6.6.16, v6.6.15, v6.6.14, v6.6.13, v6.6.12, v6.6.11, v6.6.10, v6.6.9, v6.6.8, v6.6.7, v6.6.6, v6.6.5, v6.6.4 |
|
#
80e06e54 |
| 28-Nov-2023 |
Namhyung Kim <namhyung@kernel.org> |
perf annotate: Use global annotation_options
[ Upstream commit 41fd3cacd29f47f6b9c6474b27c5b0513786c4e9 ]
Now it can directly use the global options and no need to pass it as an argument.
Reviewed
perf annotate: Use global annotation_options
[ Upstream commit 41fd3cacd29f47f6b9c6474b27c5b0513786c4e9 ]
Now it can directly use the global options and no need to pass it as an argument.
Reviewed-by: Ian Rogers <irogers@google.com> Signed-off-by: Namhyung Kim <namhyung@kernel.org> Cc: Adrian Hunter <adrian.hunter@intel.com> Cc: Ingo Molnar <mingo@kernel.org> Cc: Jiri Olsa <jolsa@kernel.org> Cc: Peter Zijlstra <peterz@infradead.org> Link: https://lore.kernel.org/r/20231128175441.721579-5-namhyung@kernel.org [ Fixup build with GTK2=1 ] Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> Stable-dep-of: aaf494cf483a ("perf annotate: Fix annotation_calc_lines() to pass correct address to get_srcline()") Signed-off-by: Sasha Levin <sashal@kernel.org>
show more ...
|
#
dfd02119 |
| 28-Nov-2023 |
Namhyung Kim <namhyung@kernel.org> |
perf annotate: Introduce global annotation_options
[ Upstream commit 9d03194a36345796d4f0f8d6b72eb770a45d614e ]
The annotation options are to control the behavior of objdump and the output. It's b
perf annotate: Introduce global annotation_options
[ Upstream commit 9d03194a36345796d4f0f8d6b72eb770a45d614e ]
The annotation options are to control the behavior of objdump and the output. It's basically used by 'perf annotate' but 'perf report' and 'perf top' can call it on TUI dynamically.
But it doesn't need to have a copy of annotation options in many places.
As most of the work is done in the util/annotate.c file, add a global variable and set/use it instead of having their own copies.
Reviewed-by: Ian Rogers <irogers@google.com> Signed-off-by: Namhyung Kim <namhyung@kernel.org> Cc: Adrian Hunter <adrian.hunter@intel.com> Cc: Ingo Molnar <mingo@kernel.org> Cc: Jiri Olsa <jolsa@kernel.org> Cc: Peter Zijlstra <peterz@infradead.org> Link: https://lore.kernel.org/r/20231128175441.721579-2-namhyung@kernel.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> Stable-dep-of: aaf494cf483a ("perf annotate: Fix annotation_calc_lines() to pass correct address to get_srcline()") Signed-off-by: Sasha Levin <sashal@kernel.org>
show more ...
|
Revision tags: v6.6.3, v6.6.2, v6.5.11, v6.6.1 |
|
#
260de043 |
| 03-Nov-2023 |
Namhyung Kim <namhyung@kernel.org> |
perf annotate: Split branch stack cycles information out of 'struct annotation_line'
[ Upstream commit de2c7eb59c342d1a61124caaf2993e325a9becb7 ]
The cycles info is used only when branch stack is p
perf annotate: Split branch stack cycles information out of 'struct annotation_line'
[ Upstream commit de2c7eb59c342d1a61124caaf2993e325a9becb7 ]
The cycles info is used only when branch stack is provided. Separate them from 'struct annotation_line' into a separate struct and lazy allocate them to save some memory.
Committer notes:
Make annotation__compute_ipc() check if the lazy allocation works, bailing out if so, its callers already do error checking and propagation.
Signed-off-by: Namhyung Kim <namhyung@kernel.org> Cc: Adrian Hunter <adrian.hunter@intel.com> Cc: Christophe JAILLET <christophe.jaillet@wanadoo.fr> Cc: Ian Rogers <irogers@google.com> Cc: Ingo Molnar <mingo@kernel.org> Cc: Jiri Olsa <jolsa@kernel.org> Cc: Peter Zijlstra <peterz@infradead.org> Link: https://lore.kernel.org/r/20231103191907.54531-2-namhyung@kernel.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> Stable-dep-of: aaf494cf483a ("perf annotate: Fix annotation_calc_lines() to pass correct address to get_srcline()") Signed-off-by: Sasha Levin <sashal@kernel.org>
show more ...
|
Revision tags: v6.6.35, v6.6.34, v6.6.33, v6.6.32, v6.6.31, v6.6.30, v6.6.29, v6.6.28, v6.6.27, v6.6.26, v6.6.25 |
|
#
73c6ddb4 |
| 04-Apr-2024 |
Namhyung Kim <namhyung@kernel.org> |
perf annotate: Fix annotation_calc_lines() to pass correct address to get_srcline()
[ Upstream commit aaf494cf483a1a835c44e942861429b30a00cab0 ]
It should pass a proper address (i.e. suitable for o
perf annotate: Fix annotation_calc_lines() to pass correct address to get_srcline()
[ Upstream commit aaf494cf483a1a835c44e942861429b30a00cab0 ]
It should pass a proper address (i.e. suitable for objdump or addr2line) to get_srcline() in order to work correctly. It used to pass an address with map__rip_2objdump() as the second argument but later it's changed to use notes->start. It's ok in normal cases but it can be changed when annotate_opts.full_addr is set. So let's convert the address directly instead of using the notes->start.
Also the last argument is an IP to print symbol offset if requested. So it should pass symbol-relative address.
Fixes: 7d18a824b5e57ddd ("perf annotate: Toggle full address <-> offset display") Signed-off-by: Namhyung Kim <namhyung@kernel.org> Cc: Adrian Hunter <adrian.hunter@intel.com> Cc: Ian Rogers <irogers@google.com> Cc: Ingo Molnar <mingo@kernel.org> Cc: Jiri Olsa <jolsa@kernel.org> Cc: Kan Liang <kan.liang@linux.intel.com> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Peter Zijlstra <peterz@infradead.org> Link: https://lore.kernel.org/r/20240404175716.1225482-2-namhyung@kernel.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
show more ...
|
Revision tags: v6.6.24, v6.6.23, v6.6.16, v6.6.15, v6.6.14, v6.6.13, v6.6.12, v6.6.11, v6.6.10, v6.6.9, v6.6.8, v6.6.7, v6.6.6, v6.6.5, v6.6.4 |
|
#
80e06e54 |
| 28-Nov-2023 |
Namhyung Kim <namhyung@kernel.org> |
perf annotate: Use global annotation_options
[ Upstream commit 41fd3cacd29f47f6b9c6474b27c5b0513786c4e9 ]
Now it can directly use the global options and no need to pass it as an argument.
Reviewed
perf annotate: Use global annotation_options
[ Upstream commit 41fd3cacd29f47f6b9c6474b27c5b0513786c4e9 ]
Now it can directly use the global options and no need to pass it as an argument.
Reviewed-by: Ian Rogers <irogers@google.com> Signed-off-by: Namhyung Kim <namhyung@kernel.org> Cc: Adrian Hunter <adrian.hunter@intel.com> Cc: Ingo Molnar <mingo@kernel.org> Cc: Jiri Olsa <jolsa@kernel.org> Cc: Peter Zijlstra <peterz@infradead.org> Link: https://lore.kernel.org/r/20231128175441.721579-5-namhyung@kernel.org [ Fixup build with GTK2=1 ] Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> Stable-dep-of: aaf494cf483a ("perf annotate: Fix annotation_calc_lines() to pass correct address to get_srcline()") Signed-off-by: Sasha Levin <sashal@kernel.org>
show more ...
|
#
dfd02119 |
| 28-Nov-2023 |
Namhyung Kim <namhyung@kernel.org> |
perf annotate: Introduce global annotation_options
[ Upstream commit 9d03194a36345796d4f0f8d6b72eb770a45d614e ]
The annotation options are to control the behavior of objdump and the output. It's b
perf annotate: Introduce global annotation_options
[ Upstream commit 9d03194a36345796d4f0f8d6b72eb770a45d614e ]
The annotation options are to control the behavior of objdump and the output. It's basically used by 'perf annotate' but 'perf report' and 'perf top' can call it on TUI dynamically.
But it doesn't need to have a copy of annotation options in many places.
As most of the work is done in the util/annotate.c file, add a global variable and set/use it instead of having their own copies.
Reviewed-by: Ian Rogers <irogers@google.com> Signed-off-by: Namhyung Kim <namhyung@kernel.org> Cc: Adrian Hunter <adrian.hunter@intel.com> Cc: Ingo Molnar <mingo@kernel.org> Cc: Jiri Olsa <jolsa@kernel.org> Cc: Peter Zijlstra <peterz@infradead.org> Link: https://lore.kernel.org/r/20231128175441.721579-2-namhyung@kernel.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> Stable-dep-of: aaf494cf483a ("perf annotate: Fix annotation_calc_lines() to pass correct address to get_srcline()") Signed-off-by: Sasha Levin <sashal@kernel.org>
show more ...
|
Revision tags: v6.6.3, v6.6.2, v6.5.11, v6.6.1 |
|
#
260de043 |
| 03-Nov-2023 |
Namhyung Kim <namhyung@kernel.org> |
perf annotate: Split branch stack cycles information out of 'struct annotation_line'
[ Upstream commit de2c7eb59c342d1a61124caaf2993e325a9becb7 ]
The cycles info is used only when branch stack is p
perf annotate: Split branch stack cycles information out of 'struct annotation_line'
[ Upstream commit de2c7eb59c342d1a61124caaf2993e325a9becb7 ]
The cycles info is used only when branch stack is provided. Separate them from 'struct annotation_line' into a separate struct and lazy allocate them to save some memory.
Committer notes:
Make annotation__compute_ipc() check if the lazy allocation works, bailing out if so, its callers already do error checking and propagation.
Signed-off-by: Namhyung Kim <namhyung@kernel.org> Cc: Adrian Hunter <adrian.hunter@intel.com> Cc: Christophe JAILLET <christophe.jaillet@wanadoo.fr> Cc: Ian Rogers <irogers@google.com> Cc: Ingo Molnar <mingo@kernel.org> Cc: Jiri Olsa <jolsa@kernel.org> Cc: Peter Zijlstra <peterz@infradead.org> Link: https://lore.kernel.org/r/20231103191907.54531-2-namhyung@kernel.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> Stable-dep-of: aaf494cf483a ("perf annotate: Fix annotation_calc_lines() to pass correct address to get_srcline()") Signed-off-by: Sasha Levin <sashal@kernel.org>
show more ...
|
Revision tags: v6.6.35, v6.6.34, v6.6.33, v6.6.32, v6.6.31, v6.6.30, v6.6.29, v6.6.28, v6.6.27, v6.6.26, v6.6.25 |
|
#
73c6ddb4 |
| 04-Apr-2024 |
Namhyung Kim <namhyung@kernel.org> |
perf annotate: Fix annotation_calc_lines() to pass correct address to get_srcline()
[ Upstream commit aaf494cf483a1a835c44e942861429b30a00cab0 ]
It should pass a proper address (i.e. suitable for o
perf annotate: Fix annotation_calc_lines() to pass correct address to get_srcline()
[ Upstream commit aaf494cf483a1a835c44e942861429b30a00cab0 ]
It should pass a proper address (i.e. suitable for objdump or addr2line) to get_srcline() in order to work correctly. It used to pass an address with map__rip_2objdump() as the second argument but later it's changed to use notes->start. It's ok in normal cases but it can be changed when annotate_opts.full_addr is set. So let's convert the address directly instead of using the notes->start.
Also the last argument is an IP to print symbol offset if requested. So it should pass symbol-relative address.
Fixes: 7d18a824b5e57ddd ("perf annotate: Toggle full address <-> offset display") Signed-off-by: Namhyung Kim <namhyung@kernel.org> Cc: Adrian Hunter <adrian.hunter@intel.com> Cc: Ian Rogers <irogers@google.com> Cc: Ingo Molnar <mingo@kernel.org> Cc: Jiri Olsa <jolsa@kernel.org> Cc: Kan Liang <kan.liang@linux.intel.com> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Peter Zijlstra <peterz@infradead.org> Link: https://lore.kernel.org/r/20240404175716.1225482-2-namhyung@kernel.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
show more ...
|