mirror of
https://github.com/rd-stuffs/msm-4.14.git
synced 2025-02-20 11:45:48 +08:00
perf report: Fix switching to another perf.data file
[ Upstream commit 7b366142a50ad79e48de8e67c5b3e8cfb9fa82dd ] In the TUI the 's' hotkey can be used to switch to another perf.data file in the current directory, but that got broken in Fixes: b01141f4f59c ("perf annotate: Initialize the priv are in symbol__new()"), that would show this once another file was chosen: ┌─Fatal Error─────────────────────────────────────┐ │Annotation needs to be init before symbol__init()│ │ │ │ │ │Press any key... │ └─────────────────────────────────────────────────┘ Fix it by just silently bailing out if symbol__annotation_init() was already called, just like is done with symbol__init(), i.e. they are done just once at session start, not when switching to a new perf.data file. Cc: Adrian Hunter <adrian.hunter@intel.com> Cc: Andi Kleen <ak@linux.intel.com> Cc: David Ahern <dsahern@gmail.com> Cc: Jin Yao <yao.jin@linux.intel.com> Cc: Jiri Olsa <jolsa@kernel.org> Cc: Martin Liška <mliska@suse.cz> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Ravi Bangoria <ravi.bangoria@linux.vnet.ibm.com> Cc: Thomas Richter <tmricht@linux.vnet.ibm.com> Cc: Wang Nan <wangnan0@huawei.com> Fixes: b01141f4f59c ("perf annotate: Initialize the priv are in symbol__new()") Link: https://lkml.kernel.org/n/tip-ogppdtpzfax7y1h6gjdv5s6u@git.kernel.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> Signed-off-by: Sasha Levin <alexander.levin@microsoft.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
7bb0c4bd79
commit
025e42a5e7
@ -2093,16 +2093,14 @@ static bool symbol__read_kptr_restrict(void)
|
||||
|
||||
int symbol__annotation_init(void)
|
||||
{
|
||||
if (symbol_conf.init_annotation)
|
||||
return 0;
|
||||
|
||||
if (symbol_conf.initialized) {
|
||||
pr_err("Annotation needs to be init before symbol__init()\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
if (symbol_conf.init_annotation) {
|
||||
pr_warning("Annotation being initialized multiple times\n");
|
||||
return 0;
|
||||
}
|
||||
|
||||
symbol_conf.priv_size += sizeof(struct annotation);
|
||||
symbol_conf.init_annotation = true;
|
||||
return 0;
|
||||
|
Loading…
x
Reference in New Issue
Block a user