perf/urgent fixes:
User visible: . Adjust symbols in VDSO to properly resolve its function names (Vladimir Nikulichev) . Improve error reporting for record session failure (Adrien BAK) . Fix 'Min time' counting in report command (Alexander Yarygin) Signed-off-by: Jiri Olsa <jolsa@redhat.com> -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQIcBAABAgAGBQJTUvYSAAoJEPZqUSBWB3s9NK4P/0sNNlm6GFrA/AvwkodtIrTa MAVOcmWxP/ayafJkSVmPjDHwi4tlcfdzgilD1jG+M9OerwNvBi5yAcO6BZCRGueO 9Inej82QzGwZES0Llq68HYIh8nx+85XP2ASJga84JvFKRuSLVlgPkkXzhQTa/Gpp FMI+h4GvPkIXnakfiq1u9Icth5zgcJuJMDmgDs1h9F9c2Ry4ecaghx+PSrc7vf10 TWAYIvNNuykE9twOJWiBh8SuN0ws3rVA3ozJPkTlBtq9WIgNjxsFhBDV28njcaNY bokkDIjfgTPkWSPVBE3TbN1WwBBd/B3zreRKIYXGLZLJ0ey1C2aT/0uaW45UjyIr r7cCkSvdFIJIBf1nD/zC/KYJ/OW8ciUJo/Iwn3+M6cRx2nxkWoRhZphOuehLjqzF 5aQBoE5USUVusi26BXGopP+fr+Inr2chEXB3gdq0MKV9HbTIegWze+/y5vEgjUFQ HR3RAgNbLXLdYWDk/PHvUHywBX64KE8AU/eGXg7BRJt+gB+ShYC4LP4xBfnWwxa4 zKWbdOsqPwUsO9vVERxw8bQFsFiGkZhbllqKVMjhxjPL3hCG508ggG7jZRqFRCYW BNoHaCIPv4pTzTh5opncaxQtApsVW5LcfM2GwwEIaNyfOBT8qOVnM0AHyzLuab2i loqvffbTT+bopK0x+OiL =CtdG -----END PGP SIGNATURE----- Merge tag 'perf-urgent-for-mingo' of git://git.kernel.org/pub/scm/linux/kernel/git/jolsa/perf into perf/urgent Pull perf/urgent fixes from Jiri Olsa: User visible changes: * Adjust symbols in VDSO to properly resolve its function names (Vladimir Nikulichev) * Improve error reporting for record session failure (Adrien BAK) * Fix 'Min time' counting in report command (Alexander Yarygin) Signed-off-by: Jiri Olsa <jolsa@redhat.com> Signed-off-by: Ingo Molnar <mingo@kernel.org>
This commit is contained in:
commit
fd741edc25
@ -404,6 +404,7 @@ static struct kvm_event *kvm_alloc_init_event(struct event_key *key)
|
||||
}
|
||||
|
||||
event->key = *key;
|
||||
init_stats(&event->total.stats);
|
||||
return event;
|
||||
}
|
||||
|
||||
|
@ -374,7 +374,7 @@ static int __cmd_record(struct record *rec, int argc, const char **argv)
|
||||
|
||||
session = perf_session__new(file, false, NULL);
|
||||
if (session == NULL) {
|
||||
pr_err("Not enough memory for reading perf file header\n");
|
||||
pr_err("Perf session creation failed.\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
@ -86,10 +86,17 @@ static int open_file_read(struct perf_data_file *file)
|
||||
|
||||
static int open_file_write(struct perf_data_file *file)
|
||||
{
|
||||
int fd;
|
||||
|
||||
if (check_backup(file))
|
||||
return -1;
|
||||
|
||||
return open(file->path, O_CREAT|O_RDWR|O_TRUNC, S_IRUSR|S_IWUSR);
|
||||
fd = open(file->path, O_CREAT|O_RDWR|O_TRUNC, S_IRUSR|S_IWUSR);
|
||||
|
||||
if (fd < 0)
|
||||
pr_err("failed to open %s : %s\n", file->path, strerror(errno));
|
||||
|
||||
return fd;
|
||||
}
|
||||
|
||||
static int open_file(struct perf_data_file *file)
|
||||
|
@ -6,6 +6,7 @@
|
||||
#include <inttypes.h>
|
||||
|
||||
#include "symbol.h"
|
||||
#include "vdso.h"
|
||||
#include <symbol/kallsyms.h>
|
||||
#include "debug.h"
|
||||
|
||||
@ -618,6 +619,7 @@ int symsrc__init(struct symsrc *ss, struct dso *dso, const char *name,
|
||||
GElf_Shdr shdr;
|
||||
ss->adjust_symbols = (ehdr.e_type == ET_EXEC ||
|
||||
ehdr.e_type == ET_REL ||
|
||||
is_vdso_map(dso->short_name) ||
|
||||
elf_section_by_name(elf, &ehdr, &shdr,
|
||||
".gnu.prelink_undo",
|
||||
NULL) != NULL);
|
||||
|
Loading…
Reference in New Issue
Block a user