All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCHv3 0/9] perf tool: Assorted fixes
@ 2018-02-15 12:26 Jiri Olsa
  2018-02-15 12:26 ` [PATCH 1/9] tools lib symbol: Skip non-address kallsyms line Jiri Olsa
                   ` (8 more replies)
  0 siblings, 9 replies; 36+ messages in thread
From: Jiri Olsa @ 2018-02-15 12:26 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo
  Cc: lkml, Ingo Molnar, Namhyung Kim, David Ahern, Alexander Shishkin,
	Peter Zijlstra

hi,
sending assorted general fixes that queued
up in my other branches.

v3 changes:
  - reworked machine__create_kernel_maps to take into account
    kernel modules based on Namhyung's comments
  - fixed dso__load changes to take into account namespace switch
  - add perf test 1 fix

v2 changes:
  - rebased on current perf/core
  - detailed changelog for patch 1
  - using zfree instead of free in patch 2
  - using machine__set_mmap_name function name

Also available in here:
  https://git.kernel.org/pub/scm/linux/kernel/git/jolsa/perf.git
  perf/fixes

thanks,
jirka


---
Jiri Olsa (9):
      tools lib symbol: Skip non-address kallsyms line
      perf tools: Check if we read regular file in dso__load
      perf tools: Free root_dir in machine__init error path
      perf tools: Move kernel mmap name into struct machine
      perf tools: Generalize machine__set_kernel_mmap function
      perf tools: Don't search for active kernel start in __machine__create_kernel_maps
      perf tools: Remove machine__load_kallsyms function
      perf tools: Do not create kernel maps in sample__resolve
      perf tests: Use arch__compare_symbol_names to compare symbols

 tools/lib/symbol/kallsyms.c         |   4 ++++
 tools/perf/tests/vmlinux-kallsyms.c |   4 ++--
 tools/perf/util/build-id.c          |  10 +++------
 tools/perf/util/event.c             |  16 +-------------
 tools/perf/util/machine.c           | 145 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----------------------------------------------------------------
 tools/perf/util/machine.h           |   6 +-----
 tools/perf/util/symbol.c            |  13 +++++-------
 7 files changed, 87 insertions(+), 111 deletions(-)

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

* [PATCH 1/9] tools lib symbol: Skip non-address kallsyms line
  2018-02-15 12:26 [PATCHv3 0/9] perf tool: Assorted fixes Jiri Olsa
@ 2018-02-15 12:26 ` Jiri Olsa
  2018-02-17 11:24   ` [tip:perf/core] " tip-bot for Jiri Olsa
  2018-02-15 12:26 ` [PATCH 2/9] perf tools: Check if we read regular file in dso__load Jiri Olsa
                   ` (7 subsequent siblings)
  8 siblings, 1 reply; 36+ messages in thread
From: Jiri Olsa @ 2018-02-15 12:26 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo
  Cc: lkml, Ingo Molnar, Namhyung Kim, David Ahern, Alexander Shishkin,
	Peter Zijlstra

Adding check on failed attempt to parse the address
and skip the line parsing early in that case.

The address can be replaced with '(null)' string in
case user don't have enough permissions, like:

  $ cat /proc/kallsyms
      (null) A irq_stack_union
      (null) A __per_cpu_start
      ...

Link: http://lkml.kernel.org/n/tip-djqwni3p6lgctf6o7xhhwpmw@git.kernel.org
Signed-off-by: Jiri Olsa <jolsa@kernel.org>
---
 tools/lib/symbol/kallsyms.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/tools/lib/symbol/kallsyms.c b/tools/lib/symbol/kallsyms.c
index 914cb8e3d40b..689b6a130dd7 100644
--- a/tools/lib/symbol/kallsyms.c
+++ b/tools/lib/symbol/kallsyms.c
@@ -38,6 +38,10 @@ int kallsyms__parse(const char *filename, void *arg,
 
 		len = hex2u64(line, &start);
 
+		/* Skip the line if we failed to parse the address. */
+		if (!len)
+			continue;
+
 		len++;
 		if (len + 2 >= line_len)
 			continue;
-- 
2.13.6

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

* [PATCH 2/9] perf tools: Check if we read regular file in dso__load
  2018-02-15 12:26 [PATCHv3 0/9] perf tool: Assorted fixes Jiri Olsa
  2018-02-15 12:26 ` [PATCH 1/9] tools lib symbol: Skip non-address kallsyms line Jiri Olsa
@ 2018-02-15 12:26 ` Jiri Olsa
  2018-02-17 11:24   ` [tip:perf/core] perf symbols: Check if we read regular file in dso__load() tip-bot for Jiri Olsa
  2018-02-15 12:26 ` [PATCH 3/9] perf tools: Free root_dir in machine__init error path Jiri Olsa
                   ` (6 subsequent siblings)
  8 siblings, 1 reply; 36+ messages in thread
From: Jiri Olsa @ 2018-02-15 12:26 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo
  Cc: lkml, Ingo Molnar, Namhyung Kim, David Ahern, Alexander Shishkin,
	Peter Zijlstra

Current code in dso__load calls the is_regular_file function,
but it checks its return value only after calling symsrc__init.

That can make symsrc__init block in elf_* functions on reading
the file if the file happens to be device and not regular one.

Calling symsrc__init only for regular files. Also removing
the symsrc__destroy cleanup, which is not needed now, because
we call symsrc__init only for regular files.

Link: http://lkml.kernel.org/n/tip-qm0sl764xzwvzgz0abqt6m46@git.kernel.org
Signed-off-by: Jiri Olsa <jolsa@kernel.org>
---
 tools/perf/util/symbol.c | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/tools/perf/util/symbol.c b/tools/perf/util/symbol.c
index cc065d4bfafc..e366e3060e6b 100644
--- a/tools/perf/util/symbol.c
+++ b/tools/perf/util/symbol.c
@@ -1582,7 +1582,7 @@ int dso__load(struct dso *dso, struct map *map)
 		bool next_slot = false;
 		bool is_reg;
 		bool nsexit;
-		int sirc;
+		int sirc = -1;
 
 		enum dso_binary_type symtab_type = binary_type_symtab[i];
 
@@ -1600,16 +1600,14 @@ int dso__load(struct dso *dso, struct map *map)
 			nsinfo__mountns_exit(&nsc);
 
 		is_reg = is_regular_file(name);
-		sirc = symsrc__init(ss, dso, name, symtab_type);
+		if (is_reg)
+			sirc = symsrc__init(ss, dso, name, symtab_type);
 
 		if (nsexit)
 			nsinfo__mountns_enter(dso->nsinfo, &nsc);
 
-		if (!is_reg || sirc < 0) {
-			if (sirc >= 0)
-				symsrc__destroy(ss);
+		if (!is_reg || sirc < 0)
 			continue;
-		}
 
 		if (!syms_ss && symsrc__has_symtab(ss)) {
 			syms_ss = ss;
-- 
2.13.6

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

* [PATCH 3/9] perf tools: Free root_dir in machine__init error path
  2018-02-15 12:26 [PATCHv3 0/9] perf tool: Assorted fixes Jiri Olsa
  2018-02-15 12:26 ` [PATCH 1/9] tools lib symbol: Skip non-address kallsyms line Jiri Olsa
  2018-02-15 12:26 ` [PATCH 2/9] perf tools: Check if we read regular file in dso__load Jiri Olsa
@ 2018-02-15 12:26 ` Jiri Olsa
  2018-02-17 11:25   ` [tip:perf/core] perf machine: Free root_dir in machine__init() " tip-bot for Jiri Olsa
  2018-02-15 12:26 ` [PATCH 4/9] perf tools: Move kernel mmap name into struct machine Jiri Olsa
                   ` (5 subsequent siblings)
  8 siblings, 1 reply; 36+ messages in thread
From: Jiri Olsa @ 2018-02-15 12:26 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo
  Cc: lkml, Ingo Molnar, Namhyung Kim, David Ahern, Alexander Shishkin,
	Peter Zijlstra

Freeing root_dir in machine__init error path.

Link: http://lkml.kernel.org/n/tip-ng92slsanexqw7h1d6sadnj7@git.kernel.org
Signed-off-by: Jiri Olsa <jolsa@kernel.org>
---
 tools/perf/util/machine.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/tools/perf/util/machine.c b/tools/perf/util/machine.c
index b05a67464c03..c976384f9022 100644
--- a/tools/perf/util/machine.c
+++ b/tools/perf/util/machine.c
@@ -50,6 +50,8 @@ static void machine__threads_init(struct machine *machine)
 
 int machine__init(struct machine *machine, const char *root_dir, pid_t pid)
 {
+	int err = -ENOMEM;
+
 	memset(machine, 0, sizeof(*machine));
 	map_groups__init(&machine->kmaps, machine);
 	RB_CLEAR_NODE(&machine->rb_node);
@@ -79,7 +81,7 @@ int machine__init(struct machine *machine, const char *root_dir, pid_t pid)
 		char comm[64];
 
 		if (thread == NULL)
-			return -ENOMEM;
+			goto out;
 
 		snprintf(comm, sizeof(comm), "[guest/%d]", pid);
 		thread__set_comm(thread, comm, 0);
@@ -87,7 +89,11 @@ int machine__init(struct machine *machine, const char *root_dir, pid_t pid)
 	}
 
 	machine->current_tid = NULL;
+	err = 0;
 
+out:
+	if (err)
+		zfree(&machine->root_dir);
 	return 0;
 }
 
-- 
2.13.6

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

* [PATCH 4/9] perf tools: Move kernel mmap name into struct machine
  2018-02-15 12:26 [PATCHv3 0/9] perf tool: Assorted fixes Jiri Olsa
                   ` (2 preceding siblings ...)
  2018-02-15 12:26 ` [PATCH 3/9] perf tools: Free root_dir in machine__init error path Jiri Olsa
@ 2018-02-15 12:26 ` Jiri Olsa
  2018-02-17 11:25   ` [tip:perf/core] perf machine: " tip-bot for Jiri Olsa
  2018-02-15 12:26 ` [PATCH 5/9] perf tools: Generalize machine__set_kernel_mmap function Jiri Olsa
                   ` (4 subsequent siblings)
  8 siblings, 1 reply; 36+ messages in thread
From: Jiri Olsa @ 2018-02-15 12:26 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo
  Cc: lkml, Ingo Molnar, Namhyung Kim, David Ahern, Alexander Shishkin,
	Peter Zijlstra

It simplifies and centralizes the code. The kernel mmap
name is set for machine type, which we know from the
beginning, so there's no reason to generate it every time
we need it.

Link: http://lkml.kernel.org/n/tip-2fx7kxxdc5zcm6990cq2mday@git.kernel.org
Signed-off-by: Jiri Olsa <jolsa@kernel.org>
---
 tools/perf/util/build-id.c | 10 +++----
 tools/perf/util/event.c    |  5 +---
 tools/perf/util/machine.c  | 67 +++++++++++++++++++++++-----------------------
 tools/perf/util/machine.h  |  3 +--
 tools/perf/util/symbol.c   |  3 +--
 5 files changed, 39 insertions(+), 49 deletions(-)

diff --git a/tools/perf/util/build-id.c b/tools/perf/util/build-id.c
index 7f8553630c4d..537eadd81914 100644
--- a/tools/perf/util/build-id.c
+++ b/tools/perf/util/build-id.c
@@ -316,7 +316,6 @@ static int machine__write_buildid_table(struct machine *machine,
 					struct feat_fd *fd)
 {
 	int err = 0;
-	char nm[PATH_MAX];
 	struct dso *pos;
 	u16 kmisc = PERF_RECORD_MISC_KERNEL,
 	    umisc = PERF_RECORD_MISC_USER;
@@ -338,9 +337,8 @@ static int machine__write_buildid_table(struct machine *machine,
 			name = pos->short_name;
 			name_len = pos->short_name_len;
 		} else if (dso__is_kcore(pos)) {
-			machine__mmap_name(machine, nm, sizeof(nm));
-			name = nm;
-			name_len = strlen(nm);
+			name = machine->mmap_name;
+			name_len = strlen(name);
 		} else {
 			name = pos->long_name;
 			name_len = pos->long_name_len;
@@ -813,12 +811,10 @@ static int dso__cache_build_id(struct dso *dso, struct machine *machine)
 	bool is_kallsyms = dso__is_kallsyms(dso);
 	bool is_vdso = dso__is_vdso(dso);
 	const char *name = dso->long_name;
-	char nm[PATH_MAX];
 
 	if (dso__is_kcore(dso)) {
 		is_kallsyms = true;
-		machine__mmap_name(machine, nm, sizeof(nm));
-		name = nm;
+		name = machine->mmap_name;
 	}
 	return build_id_cache__add_b(dso->build_id, sizeof(dso->build_id), name,
 				     dso->nsinfo, is_kallsyms, is_vdso);
diff --git a/tools/perf/util/event.c b/tools/perf/util/event.c
index 44e603c27944..4644e751a3e3 100644
--- a/tools/perf/util/event.c
+++ b/tools/perf/util/event.c
@@ -894,8 +894,6 @@ int perf_event__synthesize_kernel_mmap(struct perf_tool *tool,
 				       struct machine *machine)
 {
 	size_t size;
-	const char *mmap_name;
-	char name_buff[PATH_MAX];
 	struct map *map = machine__kernel_map(machine);
 	struct kmap *kmap;
 	int err;
@@ -918,7 +916,6 @@ int perf_event__synthesize_kernel_mmap(struct perf_tool *tool,
 		return -1;
 	}
 
-	mmap_name = machine__mmap_name(machine, name_buff, sizeof(name_buff));
 	if (machine__is_host(machine)) {
 		/*
 		 * kernel uses PERF_RECORD_MISC_USER for user space maps,
@@ -931,7 +928,7 @@ int perf_event__synthesize_kernel_mmap(struct perf_tool *tool,
 
 	kmap = map__kmap(map);
 	size = snprintf(event->mmap.filename, sizeof(event->mmap.filename),
-			"%s%s", mmap_name, kmap->ref_reloc_sym->name) + 1;
+			"%s%s", machine->mmap_name, kmap->ref_reloc_sym->name) + 1;
 	size = PERF_ALIGN(size, sizeof(u64));
 	event->mmap.header.type = PERF_RECORD_MMAP;
 	event->mmap.header.size = (sizeof(event->mmap) -
diff --git a/tools/perf/util/machine.c b/tools/perf/util/machine.c
index c976384f9022..b1f1961b13f4 100644
--- a/tools/perf/util/machine.c
+++ b/tools/perf/util/machine.c
@@ -48,6 +48,27 @@ static void machine__threads_init(struct machine *machine)
 	}
 }
 
+static int machine__set_mmap_name(struct machine *machine)
+{
+	if (machine__is_host(machine)) {
+		if (symbol_conf.vmlinux_name)
+			machine->mmap_name = strdup(symbol_conf.vmlinux_name);
+		else
+			machine->mmap_name = strdup("[kernel.kallsyms]");
+	} else if (machine__is_default_guest(machine)) {
+		if (symbol_conf.default_guest_vmlinux_name)
+			machine->mmap_name = strdup(symbol_conf.default_guest_vmlinux_name);
+		else
+			machine->mmap_name = strdup("[guest.kernel.kallsyms]");
+	} else {
+		if (asprintf(&machine->mmap_name, "[guest.kernel.kallsyms.%d]",
+			 machine->pid) < 0)
+			machine->mmap_name = NULL;
+	}
+
+	return machine->mmap_name ? 0 : -ENOMEM;
+}
+
 int machine__init(struct machine *machine, const char *root_dir, pid_t pid)
 {
 	int err = -ENOMEM;
@@ -75,6 +96,9 @@ int machine__init(struct machine *machine, const char *root_dir, pid_t pid)
 	if (machine->root_dir == NULL)
 		return -ENOMEM;
 
+	if (machine__set_mmap_name(machine))
+		goto out;
+
 	if (pid != HOST_KERNEL_ID) {
 		struct thread *thread = machine__findnew_thread(machine, -1,
 								pid);
@@ -92,8 +116,10 @@ int machine__init(struct machine *machine, const char *root_dir, pid_t pid)
 	err = 0;
 
 out:
-	if (err)
+	if (err) {
 		zfree(&machine->root_dir);
+		zfree(&machine->mmap_name);
+	}
 	return 0;
 }
 
@@ -186,6 +212,7 @@ void machine__exit(struct machine *machine)
 	dsos__exit(&machine->dsos);
 	machine__exit_vdso(machine);
 	zfree(&machine->root_dir);
+	zfree(&machine->mmap_name);
 	zfree(&machine->current_tid);
 
 	for (i = 0; i < THREADS__TABLE_SIZE; i++) {
@@ -328,20 +355,6 @@ void machines__process_guests(struct machines *machines,
 	}
 }
 
-char *machine__mmap_name(struct machine *machine, char *bf, size_t size)
-{
-	if (machine__is_host(machine))
-		snprintf(bf, size, "[%s]", "kernel.kallsyms");
-	else if (machine__is_default_guest(machine))
-		snprintf(bf, size, "[%s]", "guest.kernel.kallsyms");
-	else {
-		snprintf(bf, size, "[%s.%d]", "guest.kernel.kallsyms",
-			 machine->pid);
-	}
-
-	return bf;
-}
-
 void machines__set_id_hdr_size(struct machines *machines, u16 id_hdr_size)
 {
 	struct rb_node *node;
@@ -777,25 +790,13 @@ size_t machine__fprintf(struct machine *machine, FILE *fp)
 
 static struct dso *machine__get_kernel(struct machine *machine)
 {
-	const char *vmlinux_name = NULL;
+	const char *vmlinux_name = machine->mmap_name;
 	struct dso *kernel;
 
 	if (machine__is_host(machine)) {
-		vmlinux_name = symbol_conf.vmlinux_name;
-		if (!vmlinux_name)
-			vmlinux_name = DSO__NAME_KALLSYMS;
-
 		kernel = machine__findnew_kernel(machine, vmlinux_name,
 						 "[kernel]", DSO_TYPE_KERNEL);
 	} else {
-		char bf[PATH_MAX];
-
-		if (machine__is_default_guest(machine))
-			vmlinux_name = symbol_conf.default_guest_vmlinux_name;
-		if (!vmlinux_name)
-			vmlinux_name = machine__mmap_name(machine, bf,
-							  sizeof(bf));
-
 		kernel = machine__findnew_kernel(machine, vmlinux_name,
 						 "[guest.kernel]",
 						 DSO_TYPE_GUEST_KERNEL);
@@ -1295,7 +1296,6 @@ static int machine__process_kernel_mmap_event(struct machine *machine,
 					      union perf_event *event)
 {
 	struct map *map;
-	char kmmap_prefix[PATH_MAX];
 	enum dso_kernel_type kernel_type;
 	bool is_kernel_mmap;
 
@@ -1303,15 +1303,14 @@ static int machine__process_kernel_mmap_event(struct machine *machine,
 	if (machine__uses_kcore(machine))
 		return 0;
 
-	machine__mmap_name(machine, kmmap_prefix, sizeof(kmmap_prefix));
 	if (machine__is_host(machine))
 		kernel_type = DSO_TYPE_KERNEL;
 	else
 		kernel_type = DSO_TYPE_GUEST_KERNEL;
 
 	is_kernel_mmap = memcmp(event->mmap.filename,
-				kmmap_prefix,
-				strlen(kmmap_prefix) - 1) == 0;
+				machine->mmap_name,
+				strlen(machine->mmap_name) - 1) == 0;
 	if (event->mmap.filename[0] == '/' ||
 	    (!is_kernel_mmap && event->mmap.filename[0] == '[')) {
 		map = machine__findnew_module_map(machine, event->mmap.start,
@@ -1322,7 +1321,7 @@ static int machine__process_kernel_mmap_event(struct machine *machine,
 		map->end = map->start + event->mmap.len;
 	} else if (is_kernel_mmap) {
 		const char *symbol_name = (event->mmap.filename +
-				strlen(kmmap_prefix));
+				strlen(machine->mmap_name));
 		/*
 		 * Should be there already, from the build-id table in
 		 * the header.
@@ -1363,7 +1362,7 @@ static int machine__process_kernel_mmap_event(struct machine *machine,
 		up_read(&machine->dsos.lock);
 
 		if (kernel == NULL)
-			kernel = machine__findnew_dso(machine, kmmap_prefix);
+			kernel = machine__findnew_dso(machine, machine->mmap_name);
 		if (kernel == NULL)
 			goto out_problem;
 
diff --git a/tools/perf/util/machine.h b/tools/perf/util/machine.h
index 5ce860b64c74..cb0a20f3a96b 100644
--- a/tools/perf/util/machine.h
+++ b/tools/perf/util/machine.h
@@ -43,6 +43,7 @@ struct machine {
 	bool		  comm_exec;
 	bool		  kptr_restrict_warned;
 	char		  *root_dir;
+	char		  *mmap_name;
 	struct threads    threads[THREADS__TABLE_SIZE];
 	struct vdso_info  *vdso_info;
 	struct perf_env   *env;
@@ -142,8 +143,6 @@ struct machine *machines__find(struct machines *machines, pid_t pid);
 struct machine *machines__findnew(struct machines *machines, pid_t pid);
 
 void machines__set_id_hdr_size(struct machines *machines, u16 id_hdr_size);
-char *machine__mmap_name(struct machine *machine, char *bf, size_t size);
-
 void machines__set_comm_exec(struct machines *machines, bool comm_exec);
 
 struct machine *machine__new_host(void);
diff --git a/tools/perf/util/symbol.c b/tools/perf/util/symbol.c
index e366e3060e6b..a1a312d99f30 100644
--- a/tools/perf/util/symbol.c
+++ b/tools/perf/util/symbol.c
@@ -1958,8 +1958,7 @@ static int dso__load_guest_kernel_sym(struct dso *dso, struct map *map)
 		pr_debug("Using %s for symbols\n", kallsyms_filename);
 	if (err > 0 && !dso__is_kcore(dso)) {
 		dso->binary_type = DSO_BINARY_TYPE__GUEST_KALLSYMS;
-		machine__mmap_name(machine, path, sizeof(path));
-		dso__set_long_name(dso, strdup(path), true);
+		dso__set_long_name(dso, machine->mmap_name, false);
 		map__fixup_start(map);
 		map__fixup_end(map);
 	}
-- 
2.13.6

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

* [PATCH 5/9] perf tools: Generalize machine__set_kernel_mmap function
  2018-02-15 12:26 [PATCHv3 0/9] perf tool: Assorted fixes Jiri Olsa
                   ` (3 preceding siblings ...)
  2018-02-15 12:26 ` [PATCH 4/9] perf tools: Move kernel mmap name into struct machine Jiri Olsa
@ 2018-02-15 12:26 ` Jiri Olsa
  2018-02-17 11:26   ` [tip:perf/core] perf machine: Generalize machine__set_kernel_mmap() tip-bot for Jiri Olsa
  2018-02-15 12:26 ` [PATCH 6/9] perf tools: Don't search for active kernel start in __machine__create_kernel_maps Jiri Olsa
                   ` (3 subsequent siblings)
  8 siblings, 1 reply; 36+ messages in thread
From: Jiri Olsa @ 2018-02-15 12:26 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo
  Cc: lkml, Ingo Molnar, Namhyung Kim, David Ahern, Alexander Shishkin,
	Peter Zijlstra

So it could be called without event object, just with start
and end values. It will be used in following patch.

Link: http://lkml.kernel.org/n/tip-u4hu7m5fmwwsscy6ki70hhq6@git.kernel.org
Signed-off-by: Jiri Olsa <jolsa@kernel.org>
---
 tools/perf/util/machine.c | 13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)

diff --git a/tools/perf/util/machine.c b/tools/perf/util/machine.c
index b1f1961b13f4..292e70c774bd 100644
--- a/tools/perf/util/machine.c
+++ b/tools/perf/util/machine.c
@@ -1262,15 +1262,15 @@ int machine__create_kernel_maps(struct machine *machine)
 	return 0;
 }
 
-static void machine__set_kernel_mmap_len(struct machine *machine,
-					 union perf_event *event)
+static void machine__set_kernel_mmap(struct machine *machine,
+				     u64 start, u64 end)
 {
 	int i;
 
 	for (i = 0; i < MAP__NR_TYPES; i++) {
-		machine->vmlinux_maps[i]->start = event->mmap.start;
-		machine->vmlinux_maps[i]->end   = (event->mmap.start +
-						   event->mmap.len);
+		machine->vmlinux_maps[i]->start = start;
+		machine->vmlinux_maps[i]->end   = end;
+
 		/*
 		 * Be a bit paranoid here, some perf.data file came with
 		 * a zero sized synthesized MMAP event for the kernel.
@@ -1375,7 +1375,8 @@ static int machine__process_kernel_mmap_event(struct machine *machine,
 		if (strstr(kernel->long_name, "vmlinux"))
 			dso__set_short_name(kernel, "[kernel.vmlinux]", false);
 
-		machine__set_kernel_mmap_len(machine, event);
+		machine__set_kernel_mmap(machine, event->mmap.start,
+					 event->mmap.start + event->mmap.len);
 
 		/*
 		 * Avoid using a zero address (kptr_restrict) for the ref reloc
-- 
2.13.6

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

* [PATCH 6/9] perf tools: Don't search for active kernel start in __machine__create_kernel_maps
  2018-02-15 12:26 [PATCHv3 0/9] perf tool: Assorted fixes Jiri Olsa
                   ` (4 preceding siblings ...)
  2018-02-15 12:26 ` [PATCH 5/9] perf tools: Generalize machine__set_kernel_mmap function Jiri Olsa
@ 2018-02-15 12:26 ` Jiri Olsa
  2018-02-17 11:26   ` [tip:perf/core] perf machine: " tip-bot for Jiri Olsa
  2018-02-19  2:20   ` [PATCH 6/9] perf tools: " Namhyung Kim
  2018-02-15 12:26 ` [PATCH 7/9] perf tools: Remove machine__load_kallsyms function Jiri Olsa
                   ` (2 subsequent siblings)
  8 siblings, 2 replies; 36+ messages in thread
From: Jiri Olsa @ 2018-02-15 12:26 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo
  Cc: lkml, Ingo Molnar, Namhyung Kim, David Ahern, Alexander Shishkin,
	Peter Zijlstra

We should not search for kernel start address in
__machine__create_kernel_maps function, because it's being
used in 'report' code path, where we are interested in kernel
MMAP data address instead of in current kernel address

The __machine__create_kernel_maps serves purely for creating
the machines kernel maps and setting up the kmap group. The
report code path then sets the address based on the data from
kernel MMAP event in machine__set_kernel_mmap function.

The kallsyms search address logic is used for test code, that
calls machine__create_kernel_maps to get current maps and calls
machine__get_running_kernel_start to get kernel starting address.

Using machine__set_kernel_mmap to se the kernel maps start
address and moving map_groups__fixup_end to be call when
all maps are in place.

Also making __machine__create_kernel_maps static, because there's
no external user.

Link: http://lkml.kernel.org/n/tip-37lmdjzh8dwq03golnk7hgkd@git.kernel.org
Signed-off-by: Jiri Olsa <jolsa@kernel.org>
---
 tools/perf/util/machine.c | 55 ++++++++++++++++++++++-------------------------
 tools/perf/util/machine.h |  1 -
 2 files changed, 26 insertions(+), 30 deletions(-)

diff --git a/tools/perf/util/machine.c b/tools/perf/util/machine.c
index 292e70c774bd..2db8d7dd0f80 100644
--- a/tools/perf/util/machine.c
+++ b/tools/perf/util/machine.c
@@ -856,13 +856,10 @@ static int machine__get_running_kernel_start(struct machine *machine,
 	return 0;
 }
 
-int __machine__create_kernel_maps(struct machine *machine, struct dso *kernel)
+static int
+__machine__create_kernel_maps(struct machine *machine, struct dso *kernel)
 {
 	int type;
-	u64 start = 0;
-
-	if (machine__get_running_kernel_start(machine, NULL, &start))
-		return -1;
 
 	/* In case of renewal the kernel map, destroy previous one */
 	machine__destroy_kernel_maps(machine);
@@ -871,7 +868,7 @@ int __machine__create_kernel_maps(struct machine *machine, struct dso *kernel)
 		struct kmap *kmap;
 		struct map *map;
 
-		machine->vmlinux_maps[type] = map__new2(start, kernel, type);
+		machine->vmlinux_maps[type] = map__new2(0, kernel, type);
 		if (machine->vmlinux_maps[type] == NULL)
 			return -1;
 
@@ -1222,6 +1219,24 @@ static int machine__create_modules(struct machine *machine)
 	return 0;
 }
 
+static void machine__set_kernel_mmap(struct machine *machine,
+				     u64 start, u64 end)
+{
+	int i;
+
+	for (i = 0; i < MAP__NR_TYPES; i++) {
+		machine->vmlinux_maps[i]->start = start;
+		machine->vmlinux_maps[i]->end   = end;
+
+		/*
+		 * Be a bit paranoid here, some perf.data file came with
+		 * a zero sized synthesized MMAP event for the kernel.
+		 */
+		if (machine->vmlinux_maps[i]->end == 0)
+			machine->vmlinux_maps[i]->end = ~0ULL;
+	}
+}
+
 int machine__create_kernel_maps(struct machine *machine)
 {
 	struct dso *kernel = machine__get_kernel(machine);
@@ -1246,40 +1261,22 @@ int machine__create_kernel_maps(struct machine *machine)
 				 "continuing anyway...\n", machine->pid);
 	}
 
-	/*
-	 * Now that we have all the maps created, just set the ->end of them:
-	 */
-	map_groups__fixup_end(&machine->kmaps);
-
 	if (!machine__get_running_kernel_start(machine, &name, &addr)) {
 		if (name &&
 		    maps__set_kallsyms_ref_reloc_sym(machine->vmlinux_maps, name, addr)) {
 			machine__destroy_kernel_maps(machine);
 			return -1;
 		}
+		machine__set_kernel_mmap(machine, addr, 0);
 	}
 
+	/*
+	 * Now that we have all the maps created, just set the ->end of them:
+	 */
+	map_groups__fixup_end(&machine->kmaps);
 	return 0;
 }
 
-static void machine__set_kernel_mmap(struct machine *machine,
-				     u64 start, u64 end)
-{
-	int i;
-
-	for (i = 0; i < MAP__NR_TYPES; i++) {
-		machine->vmlinux_maps[i]->start = start;
-		machine->vmlinux_maps[i]->end   = end;
-
-		/*
-		 * Be a bit paranoid here, some perf.data file came with
-		 * a zero sized synthesized MMAP event for the kernel.
-		 */
-		if (machine->vmlinux_maps[i]->end == 0)
-			machine->vmlinux_maps[i]->end = ~0ULL;
-	}
-}
-
 static bool machine__uses_kcore(struct machine *machine)
 {
 	struct dso *dso;
diff --git a/tools/perf/util/machine.h b/tools/perf/util/machine.h
index cb0a20f3a96b..50d587d34459 100644
--- a/tools/perf/util/machine.h
+++ b/tools/perf/util/machine.h
@@ -238,7 +238,6 @@ size_t machines__fprintf_dsos_buildid(struct machines *machines, FILE *fp,
 				     bool (skip)(struct dso *dso, int parm), int parm);
 
 void machine__destroy_kernel_maps(struct machine *machine);
-int __machine__create_kernel_maps(struct machine *machine, struct dso *kernel);
 int machine__create_kernel_maps(struct machine *machine);
 
 int machines__create_kernel_maps(struct machines *machines, pid_t pid);
-- 
2.13.6

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

* [PATCH 7/9] perf tools: Remove machine__load_kallsyms function
  2018-02-15 12:26 [PATCHv3 0/9] perf tool: Assorted fixes Jiri Olsa
                   ` (5 preceding siblings ...)
  2018-02-15 12:26 ` [PATCH 6/9] perf tools: Don't search for active kernel start in __machine__create_kernel_maps Jiri Olsa
@ 2018-02-15 12:26 ` Jiri Olsa
  2018-02-17 11:27   ` [tip:perf/core] perf machine: Remove machine__load_kallsyms() tip-bot for Jiri Olsa
  2018-02-15 12:26 ` [PATCH 8/9] perf tools: Do not create kernel maps in sample__resolve Jiri Olsa
  2018-02-15 12:26 ` [PATCH 9/9] perf tests: Use arch__compare_symbol_names to compare symbols Jiri Olsa
  8 siblings, 1 reply; 36+ messages in thread
From: Jiri Olsa @ 2018-02-15 12:26 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo
  Cc: lkml, Ingo Molnar, Namhyung Kim, David Ahern, Alexander Shishkin,
	Peter Zijlstra

And replacing it with __machine__load_kallsyms function.

The current machine__load_kallsyms function has no caller,
so replacing it directly with __machine__load_kallsyms.
Also removing the no_kcore argument as it was always called
with true value.

Link: http://lkml.kernel.org/n/tip-kj9bpn6v213n6vaoe6ryxv2q@git.kernel.org
Signed-off-by: Jiri Olsa <jolsa@kernel.org>
---
 tools/perf/tests/vmlinux-kallsyms.c |  2 +-
 tools/perf/util/machine.c           | 14 ++++----------
 tools/perf/util/machine.h           |  2 --
 3 files changed, 5 insertions(+), 13 deletions(-)

diff --git a/tools/perf/tests/vmlinux-kallsyms.c b/tools/perf/tests/vmlinux-kallsyms.c
index f6789fb029d6..58349297f9fb 100644
--- a/tools/perf/tests/vmlinux-kallsyms.c
+++ b/tools/perf/tests/vmlinux-kallsyms.c
@@ -56,7 +56,7 @@ int test__vmlinux_matches_kallsyms(struct test *test __maybe_unused, int subtest
 	 * be compacted against the list of modules found in the "vmlinux"
 	 * code and with the one got from /proc/modules from the "kallsyms" code.
 	 */
-	if (__machine__load_kallsyms(&kallsyms, "/proc/kallsyms", type, true) <= 0) {
+	if (machine__load_kallsyms(&kallsyms, "/proc/kallsyms", type) <= 0) {
 		pr_debug("dso__load_kallsyms ");
 		goto out;
 	}
diff --git a/tools/perf/util/machine.c b/tools/perf/util/machine.c
index 2db8d7dd0f80..fe27ef55cbb9 100644
--- a/tools/perf/util/machine.c
+++ b/tools/perf/util/machine.c
@@ -151,7 +151,7 @@ struct machine *machine__new_kallsyms(void)
 	 *    ask for not using the kcore parsing code, once this one is fixed
 	 *    to create a map per module.
 	 */
-	if (machine && __machine__load_kallsyms(machine, "/proc/kallsyms", MAP__FUNCTION, true) <= 0) {
+	if (machine && machine__load_kallsyms(machine, "/proc/kallsyms", MAP__FUNCTION) <= 0) {
 		machine__delete(machine);
 		machine = NULL;
 	}
@@ -991,11 +991,11 @@ int machines__create_kernel_maps(struct machines *machines, pid_t pid)
 	return machine__create_kernel_maps(machine);
 }
 
-int __machine__load_kallsyms(struct machine *machine, const char *filename,
-			     enum map_type type, bool no_kcore)
+int machine__load_kallsyms(struct machine *machine, const char *filename,
+			     enum map_type type)
 {
 	struct map *map = machine__kernel_map(machine);
-	int ret = __dso__load_kallsyms(map->dso, filename, map, no_kcore);
+	int ret = __dso__load_kallsyms(map->dso, filename, map, true);
 
 	if (ret > 0) {
 		dso__set_loaded(map->dso, type);
@@ -1010,12 +1010,6 @@ int __machine__load_kallsyms(struct machine *machine, const char *filename,
 	return ret;
 }
 
-int machine__load_kallsyms(struct machine *machine, const char *filename,
-			   enum map_type type)
-{
-	return __machine__load_kallsyms(machine, filename, type, false);
-}
-
 int machine__load_vmlinux_path(struct machine *machine, enum map_type type)
 {
 	struct map *map = machine__kernel_map(machine);
diff --git a/tools/perf/util/machine.h b/tools/perf/util/machine.h
index 50d587d34459..66cc200ef86f 100644
--- a/tools/perf/util/machine.h
+++ b/tools/perf/util/machine.h
@@ -225,8 +225,6 @@ struct map *machine__findnew_module_map(struct machine *machine, u64 start,
 					const char *filename);
 int arch__fix_module_text_start(u64 *start, const char *name);
 
-int __machine__load_kallsyms(struct machine *machine, const char *filename,
-			     enum map_type type, bool no_kcore);
 int machine__load_kallsyms(struct machine *machine, const char *filename,
 			   enum map_type type);
 int machine__load_vmlinux_path(struct machine *machine, enum map_type type);
-- 
2.13.6

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

* [PATCH 8/9] perf tools: Do not create kernel maps in sample__resolve
  2018-02-15 12:26 [PATCHv3 0/9] perf tool: Assorted fixes Jiri Olsa
                   ` (6 preceding siblings ...)
  2018-02-15 12:26 ` [PATCH 7/9] perf tools: Remove machine__load_kallsyms function Jiri Olsa
@ 2018-02-15 12:26 ` Jiri Olsa
  2018-02-17 11:27   ` [tip:perf/core] perf tools: Do not create kernel maps in sample__resolve() tip-bot for Jiri Olsa
  2018-02-15 12:26 ` [PATCH 9/9] perf tests: Use arch__compare_symbol_names to compare symbols Jiri Olsa
  8 siblings, 1 reply; 36+ messages in thread
From: Jiri Olsa @ 2018-02-15 12:26 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo
  Cc: lkml, Ingo Molnar, Namhyung Kim, David Ahern, Alexander Shishkin,
	Peter Zijlstra

There's no need for kernel maps to be allocated at this
point - sample processing.

We search for kernel maps using the kernel map_groups in
machine::kmaps which is static. If vmlinux maps for any
reason still don't exist, the search correctly fails
because they are not in the map group.

Link: http://lkml.kernel.org/n/tip-f1swg55ooc3sihcvadgzkw1z@git.kernel.org
Signed-off-by: Jiri Olsa <jolsa@kernel.org>
---
 tools/perf/util/event.c | 11 -----------
 1 file changed, 11 deletions(-)

diff --git a/tools/perf/util/event.c b/tools/perf/util/event.c
index 4644e751a3e3..f0a6cbd033cc 100644
--- a/tools/perf/util/event.c
+++ b/tools/perf/util/event.c
@@ -1588,17 +1588,6 @@ int machine__resolve(struct machine *machine, struct addr_location *al,
 		return -1;
 
 	dump_printf(" ... thread: %s:%d\n", thread__comm_str(thread), thread->tid);
-	/*
-	 * Have we already created the kernel maps for this machine?
-	 *
-	 * This should have happened earlier, when we processed the kernel MMAP
-	 * events, but for older perf.data files there was no such thing, so do
-	 * it now.
-	 */
-	if (sample->cpumode == PERF_RECORD_MISC_KERNEL &&
-	    machine__kernel_map(machine) == NULL)
-		machine__create_kernel_maps(machine);
-
 	thread__find_addr_map(thread, sample->cpumode, MAP__FUNCTION, sample->ip, al);
 	dump_printf(" ...... dso: %s\n",
 		    al->map ? al->map->dso->long_name :
-- 
2.13.6

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

* [PATCH 9/9] perf tests: Use arch__compare_symbol_names to compare symbols
  2018-02-15 12:26 [PATCHv3 0/9] perf tool: Assorted fixes Jiri Olsa
                   ` (7 preceding siblings ...)
  2018-02-15 12:26 ` [PATCH 8/9] perf tools: Do not create kernel maps in sample__resolve Jiri Olsa
@ 2018-02-15 12:26 ` Jiri Olsa
  2018-02-15 14:27   ` Arnaldo Carvalho de Melo
  2018-02-17 11:28   ` [tip:perf/core] " tip-bot for Jiri Olsa
  8 siblings, 2 replies; 36+ messages in thread
From: Jiri Olsa @ 2018-02-15 12:26 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo
  Cc: lkml, Ingo Molnar, Namhyung Kim, David Ahern, Alexander Shishkin,
	Peter Zijlstra

The symbol search called by machine__find_kernel_symbol_by_name
is using internally arch__compare_symbol_names function to compare
2 symbol names, because different archs have different ways of
comparing symbols. Mostly for skipping '.' prefixes and similar.

In test 1 when we try to find matching symbols in kallsyms and
vmlinux, by address and by symbol name. When either is found
we compare the pair symbol names  by simple strcmp, which is not
good enough for reasons explained in previous paragraph.

On powerpc this can cause lockup, because even thought we found
the pair, the compared names are different and don't match
simple strcmp. Following code path is executed, that leads
to lockup:

   - we find the pair in kallsyms by sym->start
next_pair:
   - we compare the names and it fails
   - we find the pair by sym->name
   - the pair addresses match so we call goto next_pair
     because we assume the names match in this case

Link: http://lkml.kernel.org/n/tip-7m91et46nmwdnsr4dkkiw00j@git.kernel.org
Signed-off-by: Jiri Olsa <jolsa@kernel.org>
---
 tools/perf/tests/vmlinux-kallsyms.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/perf/tests/vmlinux-kallsyms.c b/tools/perf/tests/vmlinux-kallsyms.c
index 58349297f9fb..1e5adb65632a 100644
--- a/tools/perf/tests/vmlinux-kallsyms.c
+++ b/tools/perf/tests/vmlinux-kallsyms.c
@@ -125,7 +125,7 @@ int test__vmlinux_matches_kallsyms(struct test *test __maybe_unused, int subtest
 
 		if (pair && UM(pair->start) == mem_start) {
 next_pair:
-			if (strcmp(sym->name, pair->name) == 0) {
+			if (arch__compare_symbol_names(sym->name, pair->name) == 0) {
 				/*
 				 * kallsyms don't have the symbol end, so we
 				 * set that by using the next symbol start - 1,
-- 
2.13.6

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

* Re: [PATCH 9/9] perf tests: Use arch__compare_symbol_names to compare symbols
  2018-02-15 12:26 ` [PATCH 9/9] perf tests: Use arch__compare_symbol_names to compare symbols Jiri Olsa
@ 2018-02-15 14:27   ` Arnaldo Carvalho de Melo
  2018-02-15 14:48     ` Naveen N. Rao
  2018-02-17 11:28   ` [tip:perf/core] " tip-bot for Jiri Olsa
  1 sibling, 1 reply; 36+ messages in thread
From: Arnaldo Carvalho de Melo @ 2018-02-15 14:27 UTC (permalink / raw)
  To: Jiri Olsa
  Cc: lkml, Ingo Molnar, Namhyung Kim, David Ahern, Alexander Shishkin,
	Peter Zijlstra, Naveen N. Rao

Em Thu, Feb 15, 2018 at 01:26:35PM +0100, Jiri Olsa escreveu:
> The symbol search called by machine__find_kernel_symbol_by_name
> is using internally arch__compare_symbol_names function to compare
> 2 symbol names, because different archs have different ways of
> comparing symbols. Mostly for skipping '.' prefixes and similar.
> 
> In test 1 when we try to find matching symbols in kallsyms and
> vmlinux, by address and by symbol name. When either is found
> we compare the pair symbol names  by simple strcmp, which is not
> good enough for reasons explained in previous paragraph.
> 
> On powerpc this can cause lockup, because even thought we found
> the pair, the compared names are different and don't match
> simple strcmp. Following code path is executed, that leads
> to lockup:

Added a:

    Fixes: 031b84c407c3 ("perf probe ppc: Enable matching against dot symbols automatically")

And CCed Naveen, the author of that patch, so that gets notified of this
fix.

Thanks,

- Arnaldo

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

* Re: [PATCH 9/9] perf tests: Use arch__compare_symbol_names to compare symbols
  2018-02-15 14:27   ` Arnaldo Carvalho de Melo
@ 2018-02-15 14:48     ` Naveen N. Rao
  2018-02-15 15:10       ` Arnaldo Carvalho de Melo
  0 siblings, 1 reply; 36+ messages in thread
From: Naveen N. Rao @ 2018-02-15 14:48 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo, Jiri Olsa
  Cc: Alexander Shishkin, Peter Zijlstra, David Ahern, lkml,
	Ingo Molnar, Namhyung Kim, Ravi Bangoria, Sandipan Das

Arnaldo Carvalho de Melo wrote:
> Em Thu, Feb 15, 2018 at 01:26:35PM +0100, Jiri Olsa escreveu:
>> The symbol search called by machine__find_kernel_symbol_by_name
>> is using internally arch__compare_symbol_names function to compare
>> 2 symbol names, because different archs have different ways of
>> comparing symbols. Mostly for skipping '.' prefixes and similar.
>> 
>> In test 1 when we try to find matching symbols in kallsyms and
>> vmlinux, by address and by symbol name. When either is found
>> we compare the pair symbol names  by simple strcmp, which is not
>> good enough for reasons explained in previous paragraph.
>> 
>> On powerpc this can cause lockup, because even thought we found
>> the pair, the compared names are different and don't match
>> simple strcmp. Following code path is executed, that leads
>> to lockup:
> 
> Added a:
> 
>     Fixes: 031b84c407c3 ("perf probe ppc: Enable matching against dot symbols automatically")
> 
> And CCed Naveen, the author of that patch, so that gets notified of this
> fix.

Thanks! This does fix the test on ppc64 BE. So:
Acked-and-Tested-by: Naveen N. Rao <naveen.n.rao@linux.vnet.ibm.com>

- Naveen

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

* Re: [PATCH 9/9] perf tests: Use arch__compare_symbol_names to compare symbols
  2018-02-15 14:48     ` Naveen N. Rao
@ 2018-02-15 15:10       ` Arnaldo Carvalho de Melo
  0 siblings, 0 replies; 36+ messages in thread
From: Arnaldo Carvalho de Melo @ 2018-02-15 15:10 UTC (permalink / raw)
  To: Naveen N. Rao
  Cc: Jiri Olsa, Alexander Shishkin, Peter Zijlstra, David Ahern, lkml,
	Ingo Molnar, Namhyung Kim, Ravi Bangoria, Sandipan Das

Em Thu, Feb 15, 2018 at 08:18:51PM +0530, Naveen N. Rao escreveu:
> Arnaldo Carvalho de Melo wrote:
> > Em Thu, Feb 15, 2018 at 01:26:35PM +0100, Jiri Olsa escreveu:
> > > The symbol search called by machine__find_kernel_symbol_by_name
> > > is using internally arch__compare_symbol_names function to compare
> > > 2 symbol names, because different archs have different ways of
> > > comparing symbols. Mostly for skipping '.' prefixes and similar.
> > > 
> > > In test 1 when we try to find matching symbols in kallsyms and
> > > vmlinux, by address and by symbol name. When either is found
> > > we compare the pair symbol names  by simple strcmp, which is not
> > > good enough for reasons explained in previous paragraph.
> > > 
> > > On powerpc this can cause lockup, because even thought we found
> > > the pair, the compared names are different and don't match
> > > simple strcmp. Following code path is executed, that leads
> > > to lockup:
> > 
> > Added a:
> > 
> >     Fixes: 031b84c407c3 ("perf probe ppc: Enable matching against dot symbols automatically")
> > 
> > And CCed Naveen, the author of that patch, so that gets notified of this
> > fix.
> 
> Thanks! This does fix the test on ppc64 BE. So:
> Acked-and-Tested-by: Naveen N. Rao <naveen.n.rao@linux.vnet.ibm.com>

Thanks!

- Arnaldo

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

* [tip:perf/core] tools lib symbol: Skip non-address kallsyms line
  2018-02-15 12:26 ` [PATCH 1/9] tools lib symbol: Skip non-address kallsyms line Jiri Olsa
@ 2018-02-17 11:24   ` tip-bot for Jiri Olsa
  0 siblings, 0 replies; 36+ messages in thread
From: tip-bot for Jiri Olsa @ 2018-02-17 11:24 UTC (permalink / raw)
  To: linux-tip-commits
  Cc: linux-kernel, jolsa, mingo, tglx, dsahern, alexander.shishkin,
	hpa, acme, peterz, namhyung

Commit-ID:  c53b4bb02b45ceec7a590e47820afbb5cef0bb81
Gitweb:     https://git.kernel.org/tip/c53b4bb02b45ceec7a590e47820afbb5cef0bb81
Author:     Jiri Olsa <jolsa@kernel.org>
AuthorDate: Thu, 15 Feb 2018 13:26:27 +0100
Committer:  Arnaldo Carvalho de Melo <acme@redhat.com>
CommitDate: Fri, 16 Feb 2018 14:25:56 -0300

tools lib symbol: Skip non-address kallsyms line

Adding check on failed attempt to parse the address and skip the line
parsing early in that case.

The address can be replaced with '(null)' string in case user don't have
enough permissions, like:

  $ cat /proc/kallsyms
      (null) A irq_stack_union
      (null) A __per_cpu_start
      ...

Signed-off-by: Jiri Olsa <jolsa@kernel.org>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: http://lkml.kernel.org/r/20180215122635.24029-2-jolsa@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
 tools/lib/symbol/kallsyms.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/tools/lib/symbol/kallsyms.c b/tools/lib/symbol/kallsyms.c
index 914cb8e..689b6a1 100644
--- a/tools/lib/symbol/kallsyms.c
+++ b/tools/lib/symbol/kallsyms.c
@@ -38,6 +38,10 @@ int kallsyms__parse(const char *filename, void *arg,
 
 		len = hex2u64(line, &start);
 
+		/* Skip the line if we failed to parse the address. */
+		if (!len)
+			continue;
+
 		len++;
 		if (len + 2 >= line_len)
 			continue;

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

* [tip:perf/core] perf symbols: Check if we read regular file in dso__load()
  2018-02-15 12:26 ` [PATCH 2/9] perf tools: Check if we read regular file in dso__load Jiri Olsa
@ 2018-02-17 11:24   ` tip-bot for Jiri Olsa
  0 siblings, 0 replies; 36+ messages in thread
From: tip-bot for Jiri Olsa @ 2018-02-17 11:24 UTC (permalink / raw)
  To: linux-tip-commits
  Cc: hpa, alexander.shishkin, linux-kernel, peterz, dsahern, acme,
	tglx, jolsa, mingo, namhyung

Commit-ID:  c39629614640a7a5331bf156b0d26effade0a67f
Gitweb:     https://git.kernel.org/tip/c39629614640a7a5331bf156b0d26effade0a67f
Author:     Jiri Olsa <jolsa@kernel.org>
AuthorDate: Thu, 15 Feb 2018 13:26:28 +0100
Committer:  Arnaldo Carvalho de Melo <acme@redhat.com>
CommitDate: Fri, 16 Feb 2018 14:25:56 -0300

perf symbols: Check if we read regular file in dso__load()

The current code in dso__load() calls is_regular_file(), but it checks
its return value only after calling symsrc__init().

That can make symsrc__init() block in elf_* functions on reading
the file if the file happens to be device and not regular one.

Call symsrc__init() only for regular files. Also remove the
symsrc__destroy() cleanup, which is not needed now, because we call
symsrc__init() only for regular files.

Signed-off-by: Jiri Olsa <jolsa@kernel.org>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: http://lkml.kernel.org/r/20180215122635.24029-3-jolsa@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
 tools/perf/util/symbol.c | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/tools/perf/util/symbol.c b/tools/perf/util/symbol.c
index cc065d4..e366e30 100644
--- a/tools/perf/util/symbol.c
+++ b/tools/perf/util/symbol.c
@@ -1582,7 +1582,7 @@ int dso__load(struct dso *dso, struct map *map)
 		bool next_slot = false;
 		bool is_reg;
 		bool nsexit;
-		int sirc;
+		int sirc = -1;
 
 		enum dso_binary_type symtab_type = binary_type_symtab[i];
 
@@ -1600,16 +1600,14 @@ int dso__load(struct dso *dso, struct map *map)
 			nsinfo__mountns_exit(&nsc);
 
 		is_reg = is_regular_file(name);
-		sirc = symsrc__init(ss, dso, name, symtab_type);
+		if (is_reg)
+			sirc = symsrc__init(ss, dso, name, symtab_type);
 
 		if (nsexit)
 			nsinfo__mountns_enter(dso->nsinfo, &nsc);
 
-		if (!is_reg || sirc < 0) {
-			if (sirc >= 0)
-				symsrc__destroy(ss);
+		if (!is_reg || sirc < 0)
 			continue;
-		}
 
 		if (!syms_ss && symsrc__has_symtab(ss)) {
 			syms_ss = ss;

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

* [tip:perf/core] perf machine: Free root_dir in machine__init() error path
  2018-02-15 12:26 ` [PATCH 3/9] perf tools: Free root_dir in machine__init error path Jiri Olsa
@ 2018-02-17 11:25   ` tip-bot for Jiri Olsa
  0 siblings, 0 replies; 36+ messages in thread
From: tip-bot for Jiri Olsa @ 2018-02-17 11:25 UTC (permalink / raw)
  To: linux-tip-commits
  Cc: alexander.shishkin, mingo, jolsa, namhyung, dsahern, hpa,
	linux-kernel, peterz, acme, tglx

Commit-ID:  81f981d7ec43ed93901c12b6521d39b06f1ed3d3
Gitweb:     https://git.kernel.org/tip/81f981d7ec43ed93901c12b6521d39b06f1ed3d3
Author:     Jiri Olsa <jolsa@kernel.org>
AuthorDate: Thu, 15 Feb 2018 13:26:29 +0100
Committer:  Arnaldo Carvalho de Melo <acme@redhat.com>
CommitDate: Fri, 16 Feb 2018 14:25:56 -0300

perf machine: Free root_dir in machine__init() error path

Free root_dir in machine__init() error path.

Signed-off-by: Jiri Olsa <jolsa@kernel.org>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: http://lkml.kernel.org/r/20180215122635.24029-4-jolsa@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
 tools/perf/util/machine.c | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/tools/perf/util/machine.c b/tools/perf/util/machine.c
index b05a674..c976384 100644
--- a/tools/perf/util/machine.c
+++ b/tools/perf/util/machine.c
@@ -50,6 +50,8 @@ static void machine__threads_init(struct machine *machine)
 
 int machine__init(struct machine *machine, const char *root_dir, pid_t pid)
 {
+	int err = -ENOMEM;
+
 	memset(machine, 0, sizeof(*machine));
 	map_groups__init(&machine->kmaps, machine);
 	RB_CLEAR_NODE(&machine->rb_node);
@@ -79,7 +81,7 @@ int machine__init(struct machine *machine, const char *root_dir, pid_t pid)
 		char comm[64];
 
 		if (thread == NULL)
-			return -ENOMEM;
+			goto out;
 
 		snprintf(comm, sizeof(comm), "[guest/%d]", pid);
 		thread__set_comm(thread, comm, 0);
@@ -87,7 +89,11 @@ int machine__init(struct machine *machine, const char *root_dir, pid_t pid)
 	}
 
 	machine->current_tid = NULL;
+	err = 0;
 
+out:
+	if (err)
+		zfree(&machine->root_dir);
 	return 0;
 }
 

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

* [tip:perf/core] perf machine: Move kernel mmap name into struct machine
  2018-02-15 12:26 ` [PATCH 4/9] perf tools: Move kernel mmap name into struct machine Jiri Olsa
@ 2018-02-17 11:25   ` tip-bot for Jiri Olsa
  0 siblings, 0 replies; 36+ messages in thread
From: tip-bot for Jiri Olsa @ 2018-02-17 11:25 UTC (permalink / raw)
  To: linux-tip-commits
  Cc: alexander.shishkin, tglx, hpa, jolsa, mingo, linux-kernel, acme,
	dsahern, namhyung, peterz

Commit-ID:  8c7f1bb37b29f140e08175132f3abb4d5ad229fc
Gitweb:     https://git.kernel.org/tip/8c7f1bb37b29f140e08175132f3abb4d5ad229fc
Author:     Jiri Olsa <jolsa@kernel.org>
AuthorDate: Thu, 15 Feb 2018 13:26:30 +0100
Committer:  Arnaldo Carvalho de Melo <acme@redhat.com>
CommitDate: Fri, 16 Feb 2018 14:25:57 -0300

perf machine: Move kernel mmap name into struct machine

It simplifies and centralizes the code. The kernel mmap name is set for
machine type, which we know from the beginning, so there's no reason to
generate it every time we need it.

Signed-off-by: Jiri Olsa <jolsa@kernel.org>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: http://lkml.kernel.org/r/20180215122635.24029-5-jolsa@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
 tools/perf/util/build-id.c | 10 +++----
 tools/perf/util/event.c    |  5 +---
 tools/perf/util/machine.c  | 67 +++++++++++++++++++++++-----------------------
 tools/perf/util/machine.h  |  3 +--
 tools/perf/util/symbol.c   |  3 +--
 5 files changed, 39 insertions(+), 49 deletions(-)

diff --git a/tools/perf/util/build-id.c b/tools/perf/util/build-id.c
index 7f85536..537eadd 100644
--- a/tools/perf/util/build-id.c
+++ b/tools/perf/util/build-id.c
@@ -316,7 +316,6 @@ static int machine__write_buildid_table(struct machine *machine,
 					struct feat_fd *fd)
 {
 	int err = 0;
-	char nm[PATH_MAX];
 	struct dso *pos;
 	u16 kmisc = PERF_RECORD_MISC_KERNEL,
 	    umisc = PERF_RECORD_MISC_USER;
@@ -338,9 +337,8 @@ static int machine__write_buildid_table(struct machine *machine,
 			name = pos->short_name;
 			name_len = pos->short_name_len;
 		} else if (dso__is_kcore(pos)) {
-			machine__mmap_name(machine, nm, sizeof(nm));
-			name = nm;
-			name_len = strlen(nm);
+			name = machine->mmap_name;
+			name_len = strlen(name);
 		} else {
 			name = pos->long_name;
 			name_len = pos->long_name_len;
@@ -813,12 +811,10 @@ static int dso__cache_build_id(struct dso *dso, struct machine *machine)
 	bool is_kallsyms = dso__is_kallsyms(dso);
 	bool is_vdso = dso__is_vdso(dso);
 	const char *name = dso->long_name;
-	char nm[PATH_MAX];
 
 	if (dso__is_kcore(dso)) {
 		is_kallsyms = true;
-		machine__mmap_name(machine, nm, sizeof(nm));
-		name = nm;
+		name = machine->mmap_name;
 	}
 	return build_id_cache__add_b(dso->build_id, sizeof(dso->build_id), name,
 				     dso->nsinfo, is_kallsyms, is_vdso);
diff --git a/tools/perf/util/event.c b/tools/perf/util/event.c
index 44e603c..4644e75 100644
--- a/tools/perf/util/event.c
+++ b/tools/perf/util/event.c
@@ -894,8 +894,6 @@ int perf_event__synthesize_kernel_mmap(struct perf_tool *tool,
 				       struct machine *machine)
 {
 	size_t size;
-	const char *mmap_name;
-	char name_buff[PATH_MAX];
 	struct map *map = machine__kernel_map(machine);
 	struct kmap *kmap;
 	int err;
@@ -918,7 +916,6 @@ int perf_event__synthesize_kernel_mmap(struct perf_tool *tool,
 		return -1;
 	}
 
-	mmap_name = machine__mmap_name(machine, name_buff, sizeof(name_buff));
 	if (machine__is_host(machine)) {
 		/*
 		 * kernel uses PERF_RECORD_MISC_USER for user space maps,
@@ -931,7 +928,7 @@ int perf_event__synthesize_kernel_mmap(struct perf_tool *tool,
 
 	kmap = map__kmap(map);
 	size = snprintf(event->mmap.filename, sizeof(event->mmap.filename),
-			"%s%s", mmap_name, kmap->ref_reloc_sym->name) + 1;
+			"%s%s", machine->mmap_name, kmap->ref_reloc_sym->name) + 1;
 	size = PERF_ALIGN(size, sizeof(u64));
 	event->mmap.header.type = PERF_RECORD_MMAP;
 	event->mmap.header.size = (sizeof(event->mmap) -
diff --git a/tools/perf/util/machine.c b/tools/perf/util/machine.c
index c976384..b1f1961 100644
--- a/tools/perf/util/machine.c
+++ b/tools/perf/util/machine.c
@@ -48,6 +48,27 @@ static void machine__threads_init(struct machine *machine)
 	}
 }
 
+static int machine__set_mmap_name(struct machine *machine)
+{
+	if (machine__is_host(machine)) {
+		if (symbol_conf.vmlinux_name)
+			machine->mmap_name = strdup(symbol_conf.vmlinux_name);
+		else
+			machine->mmap_name = strdup("[kernel.kallsyms]");
+	} else if (machine__is_default_guest(machine)) {
+		if (symbol_conf.default_guest_vmlinux_name)
+			machine->mmap_name = strdup(symbol_conf.default_guest_vmlinux_name);
+		else
+			machine->mmap_name = strdup("[guest.kernel.kallsyms]");
+	} else {
+		if (asprintf(&machine->mmap_name, "[guest.kernel.kallsyms.%d]",
+			 machine->pid) < 0)
+			machine->mmap_name = NULL;
+	}
+
+	return machine->mmap_name ? 0 : -ENOMEM;
+}
+
 int machine__init(struct machine *machine, const char *root_dir, pid_t pid)
 {
 	int err = -ENOMEM;
@@ -75,6 +96,9 @@ int machine__init(struct machine *machine, const char *root_dir, pid_t pid)
 	if (machine->root_dir == NULL)
 		return -ENOMEM;
 
+	if (machine__set_mmap_name(machine))
+		goto out;
+
 	if (pid != HOST_KERNEL_ID) {
 		struct thread *thread = machine__findnew_thread(machine, -1,
 								pid);
@@ -92,8 +116,10 @@ int machine__init(struct machine *machine, const char *root_dir, pid_t pid)
 	err = 0;
 
 out:
-	if (err)
+	if (err) {
 		zfree(&machine->root_dir);
+		zfree(&machine->mmap_name);
+	}
 	return 0;
 }
 
@@ -186,6 +212,7 @@ void machine__exit(struct machine *machine)
 	dsos__exit(&machine->dsos);
 	machine__exit_vdso(machine);
 	zfree(&machine->root_dir);
+	zfree(&machine->mmap_name);
 	zfree(&machine->current_tid);
 
 	for (i = 0; i < THREADS__TABLE_SIZE; i++) {
@@ -328,20 +355,6 @@ void machines__process_guests(struct machines *machines,
 	}
 }
 
-char *machine__mmap_name(struct machine *machine, char *bf, size_t size)
-{
-	if (machine__is_host(machine))
-		snprintf(bf, size, "[%s]", "kernel.kallsyms");
-	else if (machine__is_default_guest(machine))
-		snprintf(bf, size, "[%s]", "guest.kernel.kallsyms");
-	else {
-		snprintf(bf, size, "[%s.%d]", "guest.kernel.kallsyms",
-			 machine->pid);
-	}
-
-	return bf;
-}
-
 void machines__set_id_hdr_size(struct machines *machines, u16 id_hdr_size)
 {
 	struct rb_node *node;
@@ -777,25 +790,13 @@ size_t machine__fprintf(struct machine *machine, FILE *fp)
 
 static struct dso *machine__get_kernel(struct machine *machine)
 {
-	const char *vmlinux_name = NULL;
+	const char *vmlinux_name = machine->mmap_name;
 	struct dso *kernel;
 
 	if (machine__is_host(machine)) {
-		vmlinux_name = symbol_conf.vmlinux_name;
-		if (!vmlinux_name)
-			vmlinux_name = DSO__NAME_KALLSYMS;
-
 		kernel = machine__findnew_kernel(machine, vmlinux_name,
 						 "[kernel]", DSO_TYPE_KERNEL);
 	} else {
-		char bf[PATH_MAX];
-
-		if (machine__is_default_guest(machine))
-			vmlinux_name = symbol_conf.default_guest_vmlinux_name;
-		if (!vmlinux_name)
-			vmlinux_name = machine__mmap_name(machine, bf,
-							  sizeof(bf));
-
 		kernel = machine__findnew_kernel(machine, vmlinux_name,
 						 "[guest.kernel]",
 						 DSO_TYPE_GUEST_KERNEL);
@@ -1295,7 +1296,6 @@ static int machine__process_kernel_mmap_event(struct machine *machine,
 					      union perf_event *event)
 {
 	struct map *map;
-	char kmmap_prefix[PATH_MAX];
 	enum dso_kernel_type kernel_type;
 	bool is_kernel_mmap;
 
@@ -1303,15 +1303,14 @@ static int machine__process_kernel_mmap_event(struct machine *machine,
 	if (machine__uses_kcore(machine))
 		return 0;
 
-	machine__mmap_name(machine, kmmap_prefix, sizeof(kmmap_prefix));
 	if (machine__is_host(machine))
 		kernel_type = DSO_TYPE_KERNEL;
 	else
 		kernel_type = DSO_TYPE_GUEST_KERNEL;
 
 	is_kernel_mmap = memcmp(event->mmap.filename,
-				kmmap_prefix,
-				strlen(kmmap_prefix) - 1) == 0;
+				machine->mmap_name,
+				strlen(machine->mmap_name) - 1) == 0;
 	if (event->mmap.filename[0] == '/' ||
 	    (!is_kernel_mmap && event->mmap.filename[0] == '[')) {
 		map = machine__findnew_module_map(machine, event->mmap.start,
@@ -1322,7 +1321,7 @@ static int machine__process_kernel_mmap_event(struct machine *machine,
 		map->end = map->start + event->mmap.len;
 	} else if (is_kernel_mmap) {
 		const char *symbol_name = (event->mmap.filename +
-				strlen(kmmap_prefix));
+				strlen(machine->mmap_name));
 		/*
 		 * Should be there already, from the build-id table in
 		 * the header.
@@ -1363,7 +1362,7 @@ static int machine__process_kernel_mmap_event(struct machine *machine,
 		up_read(&machine->dsos.lock);
 
 		if (kernel == NULL)
-			kernel = machine__findnew_dso(machine, kmmap_prefix);
+			kernel = machine__findnew_dso(machine, machine->mmap_name);
 		if (kernel == NULL)
 			goto out_problem;
 
diff --git a/tools/perf/util/machine.h b/tools/perf/util/machine.h
index 5ce860b..cb0a20f 100644
--- a/tools/perf/util/machine.h
+++ b/tools/perf/util/machine.h
@@ -43,6 +43,7 @@ struct machine {
 	bool		  comm_exec;
 	bool		  kptr_restrict_warned;
 	char		  *root_dir;
+	char		  *mmap_name;
 	struct threads    threads[THREADS__TABLE_SIZE];
 	struct vdso_info  *vdso_info;
 	struct perf_env   *env;
@@ -142,8 +143,6 @@ struct machine *machines__find(struct machines *machines, pid_t pid);
 struct machine *machines__findnew(struct machines *machines, pid_t pid);
 
 void machines__set_id_hdr_size(struct machines *machines, u16 id_hdr_size);
-char *machine__mmap_name(struct machine *machine, char *bf, size_t size);
-
 void machines__set_comm_exec(struct machines *machines, bool comm_exec);
 
 struct machine *machine__new_host(void);
diff --git a/tools/perf/util/symbol.c b/tools/perf/util/symbol.c
index e366e30..a1a312d 100644
--- a/tools/perf/util/symbol.c
+++ b/tools/perf/util/symbol.c
@@ -1958,8 +1958,7 @@ static int dso__load_guest_kernel_sym(struct dso *dso, struct map *map)
 		pr_debug("Using %s for symbols\n", kallsyms_filename);
 	if (err > 0 && !dso__is_kcore(dso)) {
 		dso->binary_type = DSO_BINARY_TYPE__GUEST_KALLSYMS;
-		machine__mmap_name(machine, path, sizeof(path));
-		dso__set_long_name(dso, strdup(path), true);
+		dso__set_long_name(dso, machine->mmap_name, false);
 		map__fixup_start(map);
 		map__fixup_end(map);
 	}

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

* [tip:perf/core] perf machine: Generalize machine__set_kernel_mmap()
  2018-02-15 12:26 ` [PATCH 5/9] perf tools: Generalize machine__set_kernel_mmap function Jiri Olsa
@ 2018-02-17 11:26   ` tip-bot for Jiri Olsa
  0 siblings, 0 replies; 36+ messages in thread
From: tip-bot for Jiri Olsa @ 2018-02-17 11:26 UTC (permalink / raw)
  To: linux-tip-commits
  Cc: jolsa, namhyung, alexander.shishkin, dsahern, linux-kernel, hpa,
	acme, mingo, tglx, peterz

Commit-ID:  05db6ff73d805ecc70947c9eee2ed9948d0be52b
Gitweb:     https://git.kernel.org/tip/05db6ff73d805ecc70947c9eee2ed9948d0be52b
Author:     Jiri Olsa <jolsa@kernel.org>
AuthorDate: Thu, 15 Feb 2018 13:26:31 +0100
Committer:  Arnaldo Carvalho de Melo <acme@redhat.com>
CommitDate: Fri, 16 Feb 2018 14:25:57 -0300

perf machine: Generalize machine__set_kernel_mmap()

So it could be called without event object, just with start and end
values. It will be used in following patch.

Signed-off-by: Jiri Olsa <jolsa@kernel.org>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: http://lkml.kernel.org/r/20180215122635.24029-6-jolsa@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
 tools/perf/util/machine.c | 13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)

diff --git a/tools/perf/util/machine.c b/tools/perf/util/machine.c
index b1f1961..292e70c 100644
--- a/tools/perf/util/machine.c
+++ b/tools/perf/util/machine.c
@@ -1262,15 +1262,15 @@ int machine__create_kernel_maps(struct machine *machine)
 	return 0;
 }
 
-static void machine__set_kernel_mmap_len(struct machine *machine,
-					 union perf_event *event)
+static void machine__set_kernel_mmap(struct machine *machine,
+				     u64 start, u64 end)
 {
 	int i;
 
 	for (i = 0; i < MAP__NR_TYPES; i++) {
-		machine->vmlinux_maps[i]->start = event->mmap.start;
-		machine->vmlinux_maps[i]->end   = (event->mmap.start +
-						   event->mmap.len);
+		machine->vmlinux_maps[i]->start = start;
+		machine->vmlinux_maps[i]->end   = end;
+
 		/*
 		 * Be a bit paranoid here, some perf.data file came with
 		 * a zero sized synthesized MMAP event for the kernel.
@@ -1375,7 +1375,8 @@ static int machine__process_kernel_mmap_event(struct machine *machine,
 		if (strstr(kernel->long_name, "vmlinux"))
 			dso__set_short_name(kernel, "[kernel.vmlinux]", false);
 
-		machine__set_kernel_mmap_len(machine, event);
+		machine__set_kernel_mmap(machine, event->mmap.start,
+					 event->mmap.start + event->mmap.len);
 
 		/*
 		 * Avoid using a zero address (kptr_restrict) for the ref reloc

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

* [tip:perf/core] perf machine: Don't search for active kernel start in __machine__create_kernel_maps
  2018-02-15 12:26 ` [PATCH 6/9] perf tools: Don't search for active kernel start in __machine__create_kernel_maps Jiri Olsa
@ 2018-02-17 11:26   ` tip-bot for Jiri Olsa
  2018-02-19  2:20   ` [PATCH 6/9] perf tools: " Namhyung Kim
  1 sibling, 0 replies; 36+ messages in thread
From: tip-bot for Jiri Olsa @ 2018-02-17 11:26 UTC (permalink / raw)
  To: linux-tip-commits
  Cc: alexander.shishkin, linux-kernel, mingo, jolsa, tglx, dsahern,
	peterz, namhyung, acme, hpa

Commit-ID:  1fb87b8e9599932e1d8b11c3a1b03b4414aaf7ba
Gitweb:     https://git.kernel.org/tip/1fb87b8e9599932e1d8b11c3a1b03b4414aaf7ba
Author:     Jiri Olsa <jolsa@kernel.org>
AuthorDate: Thu, 15 Feb 2018 13:26:32 +0100
Committer:  Arnaldo Carvalho de Melo <acme@redhat.com>
CommitDate: Fri, 16 Feb 2018 14:25:57 -0300

perf machine: Don't search for active kernel start in __machine__create_kernel_maps

We should not search for the kernel start address in
__machine__create_kernel_maps(), because it's being used in the 'report'
code path, where we are interested in kernel MMAP data address (the one
recorded via 'perf record', possibly on another machine, or an older or
newer kernel on the same machine where analysis is being performed)
instead of in current kernel address.

The __machine__create_kernel_maps() function serves purely for creating
the machines kernel maps and setting up the kmap group. The report code
path then sets the address based on the data from kernel MMAP event in
the machine__set_kernel_mmap() function.

The kallsyms search address logic is used for test code, that calls
machine__create_kernel_maps() to get current maps and calls
machine__get_running_kernel_start() to get kernel starting address.

Use machine__set_kernel_mmap() to set the kernel maps start address and
moving map_groups__fixup_end to be call when all maps are in place.

Also make __machine__create_kernel_maps static, because there's no
external user.

Signed-off-by: Jiri Olsa <jolsa@kernel.org>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: http://lkml.kernel.org/r/20180215122635.24029-7-jolsa@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
 tools/perf/util/machine.c | 55 ++++++++++++++++++++++-------------------------
 tools/perf/util/machine.h |  1 -
 2 files changed, 26 insertions(+), 30 deletions(-)

diff --git a/tools/perf/util/machine.c b/tools/perf/util/machine.c
index 292e70c..2db8d7d 100644
--- a/tools/perf/util/machine.c
+++ b/tools/perf/util/machine.c
@@ -856,13 +856,10 @@ static int machine__get_running_kernel_start(struct machine *machine,
 	return 0;
 }
 
-int __machine__create_kernel_maps(struct machine *machine, struct dso *kernel)
+static int
+__machine__create_kernel_maps(struct machine *machine, struct dso *kernel)
 {
 	int type;
-	u64 start = 0;
-
-	if (machine__get_running_kernel_start(machine, NULL, &start))
-		return -1;
 
 	/* In case of renewal the kernel map, destroy previous one */
 	machine__destroy_kernel_maps(machine);
@@ -871,7 +868,7 @@ int __machine__create_kernel_maps(struct machine *machine, struct dso *kernel)
 		struct kmap *kmap;
 		struct map *map;
 
-		machine->vmlinux_maps[type] = map__new2(start, kernel, type);
+		machine->vmlinux_maps[type] = map__new2(0, kernel, type);
 		if (machine->vmlinux_maps[type] == NULL)
 			return -1;
 
@@ -1222,6 +1219,24 @@ static int machine__create_modules(struct machine *machine)
 	return 0;
 }
 
+static void machine__set_kernel_mmap(struct machine *machine,
+				     u64 start, u64 end)
+{
+	int i;
+
+	for (i = 0; i < MAP__NR_TYPES; i++) {
+		machine->vmlinux_maps[i]->start = start;
+		machine->vmlinux_maps[i]->end   = end;
+
+		/*
+		 * Be a bit paranoid here, some perf.data file came with
+		 * a zero sized synthesized MMAP event for the kernel.
+		 */
+		if (machine->vmlinux_maps[i]->end == 0)
+			machine->vmlinux_maps[i]->end = ~0ULL;
+	}
+}
+
 int machine__create_kernel_maps(struct machine *machine)
 {
 	struct dso *kernel = machine__get_kernel(machine);
@@ -1246,40 +1261,22 @@ int machine__create_kernel_maps(struct machine *machine)
 				 "continuing anyway...\n", machine->pid);
 	}
 
-	/*
-	 * Now that we have all the maps created, just set the ->end of them:
-	 */
-	map_groups__fixup_end(&machine->kmaps);
-
 	if (!machine__get_running_kernel_start(machine, &name, &addr)) {
 		if (name &&
 		    maps__set_kallsyms_ref_reloc_sym(machine->vmlinux_maps, name, addr)) {
 			machine__destroy_kernel_maps(machine);
 			return -1;
 		}
+		machine__set_kernel_mmap(machine, addr, 0);
 	}
 
+	/*
+	 * Now that we have all the maps created, just set the ->end of them:
+	 */
+	map_groups__fixup_end(&machine->kmaps);
 	return 0;
 }
 
-static void machine__set_kernel_mmap(struct machine *machine,
-				     u64 start, u64 end)
-{
-	int i;
-
-	for (i = 0; i < MAP__NR_TYPES; i++) {
-		machine->vmlinux_maps[i]->start = start;
-		machine->vmlinux_maps[i]->end   = end;
-
-		/*
-		 * Be a bit paranoid here, some perf.data file came with
-		 * a zero sized synthesized MMAP event for the kernel.
-		 */
-		if (machine->vmlinux_maps[i]->end == 0)
-			machine->vmlinux_maps[i]->end = ~0ULL;
-	}
-}
-
 static bool machine__uses_kcore(struct machine *machine)
 {
 	struct dso *dso;
diff --git a/tools/perf/util/machine.h b/tools/perf/util/machine.h
index cb0a20f..50d587d 100644
--- a/tools/perf/util/machine.h
+++ b/tools/perf/util/machine.h
@@ -238,7 +238,6 @@ size_t machines__fprintf_dsos_buildid(struct machines *machines, FILE *fp,
 				     bool (skip)(struct dso *dso, int parm), int parm);
 
 void machine__destroy_kernel_maps(struct machine *machine);
-int __machine__create_kernel_maps(struct machine *machine, struct dso *kernel);
 int machine__create_kernel_maps(struct machine *machine);
 
 int machines__create_kernel_maps(struct machines *machines, pid_t pid);

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

* [tip:perf/core] perf machine: Remove machine__load_kallsyms()
  2018-02-15 12:26 ` [PATCH 7/9] perf tools: Remove machine__load_kallsyms function Jiri Olsa
@ 2018-02-17 11:27   ` tip-bot for Jiri Olsa
  0 siblings, 0 replies; 36+ messages in thread
From: tip-bot for Jiri Olsa @ 2018-02-17 11:27 UTC (permalink / raw)
  To: linux-tip-commits
  Cc: linux-kernel, acme, tglx, dsahern, mingo, jolsa, namhyung,
	peterz, hpa, alexander.shishkin

Commit-ID:  e8f3879f762ffe75a24fd354dd87f073214428fa
Gitweb:     https://git.kernel.org/tip/e8f3879f762ffe75a24fd354dd87f073214428fa
Author:     Jiri Olsa <jolsa@kernel.org>
AuthorDate: Thu, 15 Feb 2018 13:26:33 +0100
Committer:  Arnaldo Carvalho de Melo <acme@redhat.com>
CommitDate: Fri, 16 Feb 2018 14:25:58 -0300

perf machine: Remove machine__load_kallsyms()

The current machine__load_kallsyms() function has no caller, so replace
it directly with __machine__load_kallsyms().  Also remove the no_kcore
argument as it was always called with a 'true' value.

Signed-off-by: Jiri Olsa <jolsa@kernel.org>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: http://lkml.kernel.org/r/20180215122635.24029-8-jolsa@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
 tools/perf/tests/vmlinux-kallsyms.c |  2 +-
 tools/perf/util/machine.c           | 14 ++++----------
 tools/perf/util/machine.h           |  2 --
 3 files changed, 5 insertions(+), 13 deletions(-)

diff --git a/tools/perf/tests/vmlinux-kallsyms.c b/tools/perf/tests/vmlinux-kallsyms.c
index f6789fb..5834929 100644
--- a/tools/perf/tests/vmlinux-kallsyms.c
+++ b/tools/perf/tests/vmlinux-kallsyms.c
@@ -56,7 +56,7 @@ int test__vmlinux_matches_kallsyms(struct test *test __maybe_unused, int subtest
 	 * be compacted against the list of modules found in the "vmlinux"
 	 * code and with the one got from /proc/modules from the "kallsyms" code.
 	 */
-	if (__machine__load_kallsyms(&kallsyms, "/proc/kallsyms", type, true) <= 0) {
+	if (machine__load_kallsyms(&kallsyms, "/proc/kallsyms", type) <= 0) {
 		pr_debug("dso__load_kallsyms ");
 		goto out;
 	}
diff --git a/tools/perf/util/machine.c b/tools/perf/util/machine.c
index 2db8d7d..fe27ef5 100644
--- a/tools/perf/util/machine.c
+++ b/tools/perf/util/machine.c
@@ -151,7 +151,7 @@ struct machine *machine__new_kallsyms(void)
 	 *    ask for not using the kcore parsing code, once this one is fixed
 	 *    to create a map per module.
 	 */
-	if (machine && __machine__load_kallsyms(machine, "/proc/kallsyms", MAP__FUNCTION, true) <= 0) {
+	if (machine && machine__load_kallsyms(machine, "/proc/kallsyms", MAP__FUNCTION) <= 0) {
 		machine__delete(machine);
 		machine = NULL;
 	}
@@ -991,11 +991,11 @@ int machines__create_kernel_maps(struct machines *machines, pid_t pid)
 	return machine__create_kernel_maps(machine);
 }
 
-int __machine__load_kallsyms(struct machine *machine, const char *filename,
-			     enum map_type type, bool no_kcore)
+int machine__load_kallsyms(struct machine *machine, const char *filename,
+			     enum map_type type)
 {
 	struct map *map = machine__kernel_map(machine);
-	int ret = __dso__load_kallsyms(map->dso, filename, map, no_kcore);
+	int ret = __dso__load_kallsyms(map->dso, filename, map, true);
 
 	if (ret > 0) {
 		dso__set_loaded(map->dso, type);
@@ -1010,12 +1010,6 @@ int __machine__load_kallsyms(struct machine *machine, const char *filename,
 	return ret;
 }
 
-int machine__load_kallsyms(struct machine *machine, const char *filename,
-			   enum map_type type)
-{
-	return __machine__load_kallsyms(machine, filename, type, false);
-}
-
 int machine__load_vmlinux_path(struct machine *machine, enum map_type type)
 {
 	struct map *map = machine__kernel_map(machine);
diff --git a/tools/perf/util/machine.h b/tools/perf/util/machine.h
index 50d587d..66cc200 100644
--- a/tools/perf/util/machine.h
+++ b/tools/perf/util/machine.h
@@ -225,8 +225,6 @@ struct map *machine__findnew_module_map(struct machine *machine, u64 start,
 					const char *filename);
 int arch__fix_module_text_start(u64 *start, const char *name);
 
-int __machine__load_kallsyms(struct machine *machine, const char *filename,
-			     enum map_type type, bool no_kcore);
 int machine__load_kallsyms(struct machine *machine, const char *filename,
 			   enum map_type type);
 int machine__load_vmlinux_path(struct machine *machine, enum map_type type);

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

* [tip:perf/core] perf tools: Do not create kernel maps in sample__resolve()
  2018-02-15 12:26 ` [PATCH 8/9] perf tools: Do not create kernel maps in sample__resolve Jiri Olsa
@ 2018-02-17 11:27   ` tip-bot for Jiri Olsa
  0 siblings, 0 replies; 36+ messages in thread
From: tip-bot for Jiri Olsa @ 2018-02-17 11:27 UTC (permalink / raw)
  To: linux-tip-commits
  Cc: namhyung, alexander.shishkin, dsahern, peterz, jolsa, mingo, hpa,
	tglx, acme, linux-kernel

Commit-ID:  a73e24d240bc136619d382b1268f34d75c9d25ce
Gitweb:     https://git.kernel.org/tip/a73e24d240bc136619d382b1268f34d75c9d25ce
Author:     Jiri Olsa <jolsa@kernel.org>
AuthorDate: Thu, 15 Feb 2018 13:26:34 +0100
Committer:  Arnaldo Carvalho de Melo <acme@redhat.com>
CommitDate: Fri, 16 Feb 2018 14:25:59 -0300

perf tools: Do not create kernel maps in sample__resolve()

There's no need for kernel maps to be allocated at this point - sample
processing.

We search for kernel maps using the kernel map_groups in machine::kmaps
which is static. If vmlinux maps for any reason still don't exist, the
search correctly fails because they are not in the map group.

Signed-off-by: Jiri Olsa <jolsa@kernel.org>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: http://lkml.kernel.org/r/20180215122635.24029-9-jolsa@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
 tools/perf/util/event.c | 11 -----------
 1 file changed, 11 deletions(-)

diff --git a/tools/perf/util/event.c b/tools/perf/util/event.c
index 4644e75..f0a6cbd 100644
--- a/tools/perf/util/event.c
+++ b/tools/perf/util/event.c
@@ -1588,17 +1588,6 @@ int machine__resolve(struct machine *machine, struct addr_location *al,
 		return -1;
 
 	dump_printf(" ... thread: %s:%d\n", thread__comm_str(thread), thread->tid);
-	/*
-	 * Have we already created the kernel maps for this machine?
-	 *
-	 * This should have happened earlier, when we processed the kernel MMAP
-	 * events, but for older perf.data files there was no such thing, so do
-	 * it now.
-	 */
-	if (sample->cpumode == PERF_RECORD_MISC_KERNEL &&
-	    machine__kernel_map(machine) == NULL)
-		machine__create_kernel_maps(machine);
-
 	thread__find_addr_map(thread, sample->cpumode, MAP__FUNCTION, sample->ip, al);
 	dump_printf(" ...... dso: %s\n",
 		    al->map ? al->map->dso->long_name :

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

* [tip:perf/core] perf tests: Use arch__compare_symbol_names to compare symbols
  2018-02-15 12:26 ` [PATCH 9/9] perf tests: Use arch__compare_symbol_names to compare symbols Jiri Olsa
  2018-02-15 14:27   ` Arnaldo Carvalho de Melo
@ 2018-02-17 11:28   ` tip-bot for Jiri Olsa
  1 sibling, 0 replies; 36+ messages in thread
From: tip-bot for Jiri Olsa @ 2018-02-17 11:28 UTC (permalink / raw)
  To: linux-tip-commits
  Cc: tglx, hpa, acme, linux-kernel, alexander.shishkin, jolsa,
	naveen.n.rao, peterz, mingo, dsahern, namhyung

Commit-ID:  ab6e9a99345131cd8e54268d1d0dc04a33f7ed11
Gitweb:     https://git.kernel.org/tip/ab6e9a99345131cd8e54268d1d0dc04a33f7ed11
Author:     Jiri Olsa <jolsa@kernel.org>
AuthorDate: Thu, 15 Feb 2018 13:26:35 +0100
Committer:  Arnaldo Carvalho de Melo <acme@redhat.com>
CommitDate: Fri, 16 Feb 2018 14:26:01 -0300

perf tests: Use arch__compare_symbol_names to compare symbols

The symbol search called by machine__find_kernel_symbol_by_name is using
internally arch__compare_symbol_names function to compare 2 symbol
names, because different archs have different ways of comparing symbols.
Mostly for skipping '.' prefixes and similar.

In test 1 when we try to find matching symbols in kallsyms and vmlinux,
by address and by symbol name. When either is found we compare the pair
symbol names  by simple strcmp, which is not good enough for reasons
explained in previous paragraph.

On powerpc this can cause lockup, because even thought we found the
pair, the compared names are different and don't match simple strcmp.
Following code path is executed, that leads to lockup:

   - we find the pair in kallsyms by sym->start
next_pair:
   - we compare the names and it fails
   - we find the pair by sym->name
   - the pair addresses match so we call goto next_pair
     because we assume the names match in this case

Signed-off-by: Jiri Olsa <jolsa@kernel.org>
Tested-by: Naveen N. Rao <naveen.n.rao@linux.vnet.ibm.com>
Acked-by: Naveen N. Rao <naveen.n.rao@linux.vnet.ibm.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Fixes: 031b84c407c3 ("perf probe ppc: Enable matching against dot symbols automatically")
Link: http://lkml.kernel.org/r/20180215122635.24029-10-jolsa@kernel.org
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
 tools/perf/tests/vmlinux-kallsyms.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/perf/tests/vmlinux-kallsyms.c b/tools/perf/tests/vmlinux-kallsyms.c
index 5834929..1e5adb6 100644
--- a/tools/perf/tests/vmlinux-kallsyms.c
+++ b/tools/perf/tests/vmlinux-kallsyms.c
@@ -125,7 +125,7 @@ int test__vmlinux_matches_kallsyms(struct test *test __maybe_unused, int subtest
 
 		if (pair && UM(pair->start) == mem_start) {
 next_pair:
-			if (strcmp(sym->name, pair->name) == 0) {
+			if (arch__compare_symbol_names(sym->name, pair->name) == 0) {
 				/*
 				 * kallsyms don't have the symbol end, so we
 				 * set that by using the next symbol start - 1,

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

* Re: [PATCH 6/9] perf tools: Don't search for active kernel start in __machine__create_kernel_maps
  2018-02-15 12:26 ` [PATCH 6/9] perf tools: Don't search for active kernel start in __machine__create_kernel_maps Jiri Olsa
  2018-02-17 11:26   ` [tip:perf/core] perf machine: " tip-bot for Jiri Olsa
@ 2018-02-19  2:20   ` Namhyung Kim
  2018-02-19 10:01     ` Jiri Olsa
  2018-02-19 12:21     ` [PATCH 6/9] perf tools: Don't search for active kernel start in __machine__create_kernel_maps Arnaldo Carvalho de Melo
  1 sibling, 2 replies; 36+ messages in thread
From: Namhyung Kim @ 2018-02-19  2:20 UTC (permalink / raw)
  To: Jiri Olsa
  Cc: Arnaldo Carvalho de Melo, lkml, Ingo Molnar, David Ahern,
	Alexander Shishkin, Peter Zijlstra, kernel-team

Hi Jiri and Arnaldo,

On Thu, Feb 15, 2018 at 01:26:32PM +0100, Jiri Olsa wrote:
> We should not search for kernel start address in
> __machine__create_kernel_maps function, because it's being
> used in 'report' code path, where we are interested in kernel
> MMAP data address instead of in current kernel address
> 
> The __machine__create_kernel_maps serves purely for creating
> the machines kernel maps and setting up the kmap group. The
> report code path then sets the address based on the data from
> kernel MMAP event in machine__set_kernel_mmap function.
> 
> The kallsyms search address logic is used for test code, that
> calls machine__create_kernel_maps to get current maps and calls
> machine__get_running_kernel_start to get kernel starting address.
> 
> Using machine__set_kernel_mmap to se the kernel maps start
> address and moving map_groups__fixup_end to be call when
> all maps are in place.
> 
> Also making __machine__create_kernel_maps static, because there's
> no external user.
> 
> Link: http://lkml.kernel.org/n/tip-37lmdjzh8dwq03golnk7hgkd@git.kernel.org
> Signed-off-by: Jiri Olsa <jolsa@kernel.org>
> ---
>  tools/perf/util/machine.c | 55 ++++++++++++++++++++++-------------------------
>  tools/perf/util/machine.h |  1 -
>  2 files changed, 26 insertions(+), 30 deletions(-)
> 
> diff --git a/tools/perf/util/machine.c b/tools/perf/util/machine.c
> index 292e70c774bd..2db8d7dd0f80 100644
> --- a/tools/perf/util/machine.c
> +++ b/tools/perf/util/machine.c
> @@ -856,13 +856,10 @@ static int machine__get_running_kernel_start(struct machine *machine,
>  	return 0;
>  }
>  
> -int __machine__create_kernel_maps(struct machine *machine, struct dso *kernel)
> +static int
> +__machine__create_kernel_maps(struct machine *machine, struct dso *kernel)
>  {
>  	int type;
> -	u64 start = 0;
> -
> -	if (machine__get_running_kernel_start(machine, NULL, &start))
> -		return -1;
>  
>  	/* In case of renewal the kernel map, destroy previous one */
>  	machine__destroy_kernel_maps(machine);
> @@ -871,7 +868,7 @@ int __machine__create_kernel_maps(struct machine *machine, struct dso *kernel)
>  		struct kmap *kmap;
>  		struct map *map;
>  
> -		machine->vmlinux_maps[type] = map__new2(start, kernel, type);
> +		machine->vmlinux_maps[type] = map__new2(0, kernel, type);
>  		if (machine->vmlinux_maps[type] == NULL)
>  			return -1;
>  
> @@ -1222,6 +1219,24 @@ static int machine__create_modules(struct machine *machine)
>  	return 0;
>  }
>  
> +static void machine__set_kernel_mmap(struct machine *machine,
> +				     u64 start, u64 end)
> +{
> +	int i;
> +
> +	for (i = 0; i < MAP__NR_TYPES; i++) {
> +		machine->vmlinux_maps[i]->start = start;
> +		machine->vmlinux_maps[i]->end   = end;
> +
> +		/*
> +		 * Be a bit paranoid here, some perf.data file came with
> +		 * a zero sized synthesized MMAP event for the kernel.
> +		 */
> +		if (machine->vmlinux_maps[i]->end == 0)
> +			machine->vmlinux_maps[i]->end = ~0ULL;

Hmm.. this will make map_groups__fixup_end() below not working since
it only updates if the end address of a map is zero.

And about the paranoid check, AFAIK the only case it cares is the
machine__process_kernel_mmap_event() which calls it with
event->mmap.start and event->mmap.start + event->mmap.len.  Thus, in
order for the end to be zero, both start and len should be zero.  Then
I think this condition can be changed like below:

diff --git a/tools/perf/util/machine.c b/tools/perf/util/machine.c
index fe27ef55cbb9..c8acb603c359 100644
--- a/tools/perf/util/machine.c
+++ b/tools/perf/util/machine.c
@@ -1226,7 +1226,7 @@ static void machine__set_kernel_mmap(struct machine *machine,
                 * Be a bit paranoid here, some perf.data file came with
                 * a zero sized synthesized MMAP event for the kernel.
                 */
-               if (machine->vmlinux_maps[i]->end == 0)
+               if (start == 0 && end == 0)
                        machine->vmlinux_maps[i]->end = ~0ULL;
        }
 }



> +	}
> +}
> +
>  int machine__create_kernel_maps(struct machine *machine)
>  {
>  	struct dso *kernel = machine__get_kernel(machine);
> @@ -1246,40 +1261,22 @@ int machine__create_kernel_maps(struct machine *machine)
>  				 "continuing anyway...\n", machine->pid);
>  	}
>  
> -	/*
> -	 * Now that we have all the maps created, just set the ->end of them:
> -	 */
> -	map_groups__fixup_end(&machine->kmaps);
> -
>  	if (!machine__get_running_kernel_start(machine, &name, &addr)) {
>  		if (name &&
>  		    maps__set_kallsyms_ref_reloc_sym(machine->vmlinux_maps, name, addr)) {
>  			machine__destroy_kernel_maps(machine);
>  			return -1;
>  		}
> +		machine__set_kernel_mmap(machine, addr, 0);
>  	}
>  
> +	/*
> +	 * Now that we have all the maps created, just set the ->end of them:
> +	 */
> +	map_groups__fixup_end(&machine->kmaps);

With above change, I think it work.  But the whole point of the above
is to set the end address of vmlinux and modules.  And now we don't
need it for modules thanks to modules__parse() for passing the size.

So we only needs to update the end address of vmlinux using the start
address of the first module.  What about this then?

Thanks,
Namhyung


diff --git a/tools/perf/util/machine.c b/tools/perf/util/machine.c
index fe27ef55cbb9..022f0539b750 100644
--- a/tools/perf/util/machine.c
+++ b/tools/perf/util/machine.c
@@ -1021,13 +1021,6 @@ int machine__load_vmlinux_path(struct machine *machine, enum map_type type)
        return ret;
 }
 
-static void map_groups__fixup_end(struct map_groups *mg)
-{
-       int i;
-       for (i = 0; i < MAP__NR_TYPES; ++i)
-               __map_groups__fixup_end(mg, i);
-}
-
 static char *get_kernel_version(const char *root_dir)
 {
        char version[PATH_MAX];
@@ -1235,6 +1228,7 @@ int machine__create_kernel_maps(struct machine *machine)
 {
        struct dso *kernel = machine__get_kernel(machine);
        const char *name = NULL;
+       struct map *map;
        u64 addr = 0;
        int ret;
 
@@ -1261,13 +1255,13 @@ int machine__create_kernel_maps(struct machine *machine)
                        machine__destroy_kernel_maps(machine);
                        return -1;
                }
-               machine__set_kernel_mmap(machine, addr, 0);
        }
 
-       /*
-        * Now that we have all the maps created, just set the ->end of them:
-        */
-       map_groups__fixup_end(&machine->kmaps);
+       /* update end address of the kernel map using adjacent module address */
+       map = map__next(machine__kernel_map(machine));
+       if (map)
+               machine__set_kernel_mmap(machine, addr, map->start);
+
        return 0;
 }
 


>  	return 0;
>  }
>  
> -static void machine__set_kernel_mmap(struct machine *machine,
> -				     u64 start, u64 end)
> -{
> -	int i;
> -
> -	for (i = 0; i < MAP__NR_TYPES; i++) {
> -		machine->vmlinux_maps[i]->start = start;
> -		machine->vmlinux_maps[i]->end   = end;
> -
> -		/*
> -		 * Be a bit paranoid here, some perf.data file came with
> -		 * a zero sized synthesized MMAP event for the kernel.
> -		 */
> -		if (machine->vmlinux_maps[i]->end == 0)
> -			machine->vmlinux_maps[i]->end = ~0ULL;
> -	}
> -}
> -
>  static bool machine__uses_kcore(struct machine *machine)
>  {
>  	struct dso *dso;
> diff --git a/tools/perf/util/machine.h b/tools/perf/util/machine.h
> index cb0a20f3a96b..50d587d34459 100644
> --- a/tools/perf/util/machine.h
> +++ b/tools/perf/util/machine.h
> @@ -238,7 +238,6 @@ size_t machines__fprintf_dsos_buildid(struct machines *machines, FILE *fp,
>  				     bool (skip)(struct dso *dso, int parm), int parm);
>  
>  void machine__destroy_kernel_maps(struct machine *machine);
> -int __machine__create_kernel_maps(struct machine *machine, struct dso *kernel);
>  int machine__create_kernel_maps(struct machine *machine);
>  
>  int machines__create_kernel_maps(struct machines *machines, pid_t pid);
> -- 
> 2.13.6
> 

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

* Re: [PATCH 6/9] perf tools: Don't search for active kernel start in __machine__create_kernel_maps
  2018-02-19  2:20   ` [PATCH 6/9] perf tools: " Namhyung Kim
@ 2018-02-19 10:01     ` Jiri Olsa
  2018-02-19 10:19       ` Namhyung Kim
  2018-02-19 12:21     ` [PATCH 6/9] perf tools: Don't search for active kernel start in __machine__create_kernel_maps Arnaldo Carvalho de Melo
  1 sibling, 1 reply; 36+ messages in thread
From: Jiri Olsa @ 2018-02-19 10:01 UTC (permalink / raw)
  To: Namhyung Kim
  Cc: Jiri Olsa, Arnaldo Carvalho de Melo, lkml, Ingo Molnar,
	David Ahern, Alexander Shishkin, Peter Zijlstra, kernel-team

On Mon, Feb 19, 2018 at 11:20:36AM +0900, Namhyung Kim wrote:

SNIP

> > +static void machine__set_kernel_mmap(struct machine *machine,
> > +				     u64 start, u64 end)
> > +{
> > +	int i;
> > +
> > +	for (i = 0; i < MAP__NR_TYPES; i++) {
> > +		machine->vmlinux_maps[i]->start = start;
> > +		machine->vmlinux_maps[i]->end   = end;
> > +
> > +		/*
> > +		 * Be a bit paranoid here, some perf.data file came with
> > +		 * a zero sized synthesized MMAP event for the kernel.
> > +		 */
> > +		if (machine->vmlinux_maps[i]->end == 0)
> > +			machine->vmlinux_maps[i]->end = ~0ULL;
> 
> Hmm.. this will make map_groups__fixup_end() below not working since
> it only updates if the end address of a map is zero.
> 
> And about the paranoid check, AFAIK the only case it cares is the
> machine__process_kernel_mmap_event() which calls it with
> event->mmap.start and event->mmap.start + event->mmap.len.  Thus, in
> order for the end to be zero, both start and len should be zero.  Then
> I think this condition can be changed like below:
> 
> diff --git a/tools/perf/util/machine.c b/tools/perf/util/machine.c
> index fe27ef55cbb9..c8acb603c359 100644
> --- a/tools/perf/util/machine.c
> +++ b/tools/perf/util/machine.c
> @@ -1226,7 +1226,7 @@ static void machine__set_kernel_mmap(struct machine *machine,
>                  * Be a bit paranoid here, some perf.data file came with
>                  * a zero sized synthesized MMAP event for the kernel.
>                  */
> -               if (machine->vmlinux_maps[i]->end == 0)
> +               if (start == 0 && end == 0)
>                         machine->vmlinux_maps[i]->end = ~0ULL;
>         }

right, the call from machine__create_kernel_maps will have always
the start != 0 and there will be subsequent map_groups__fixup_end
call..

seems ok to me.. will you send the patch?

thanks,
jirka

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

* Re: [PATCH 6/9] perf tools: Don't search for active kernel start in __machine__create_kernel_maps
  2018-02-19 10:01     ` Jiri Olsa
@ 2018-02-19 10:19       ` Namhyung Kim
  2018-02-19 10:49         ` Jiri Olsa
  2018-02-21 10:25         ` [tip:perf/core] perf machine: Fix paranoid check in machine__set_kernel_mmap() tip-bot for Namhyung Kim
  0 siblings, 2 replies; 36+ messages in thread
From: Namhyung Kim @ 2018-02-19 10:19 UTC (permalink / raw)
  To: Jiri Olsa
  Cc: Jiri Olsa, Arnaldo Carvalho de Melo, lkml, Ingo Molnar,
	David Ahern, Alexander Shishkin, Peter Zijlstra, kernel-team

On Mon, Feb 19, 2018 at 11:01:40AM +0100, Jiri Olsa wrote:
> On Mon, Feb 19, 2018 at 11:20:36AM +0900, Namhyung Kim wrote:
> 
> SNIP
> 
> > > +static void machine__set_kernel_mmap(struct machine *machine,
> > > +				     u64 start, u64 end)
> > > +{
> > > +	int i;
> > > +
> > > +	for (i = 0; i < MAP__NR_TYPES; i++) {
> > > +		machine->vmlinux_maps[i]->start = start;
> > > +		machine->vmlinux_maps[i]->end   = end;
> > > +
> > > +		/*
> > > +		 * Be a bit paranoid here, some perf.data file came with
> > > +		 * a zero sized synthesized MMAP event for the kernel.
> > > +		 */
> > > +		if (machine->vmlinux_maps[i]->end == 0)
> > > +			machine->vmlinux_maps[i]->end = ~0ULL;
> > 
> > Hmm.. this will make map_groups__fixup_end() below not working since
> > it only updates if the end address of a map is zero.
> > 
> > And about the paranoid check, AFAIK the only case it cares is the
> > machine__process_kernel_mmap_event() which calls it with
> > event->mmap.start and event->mmap.start + event->mmap.len.  Thus, in
> > order for the end to be zero, both start and len should be zero.  Then
> > I think this condition can be changed like below:
> > 
> > diff --git a/tools/perf/util/machine.c b/tools/perf/util/machine.c
> > index fe27ef55cbb9..c8acb603c359 100644
> > --- a/tools/perf/util/machine.c
> > +++ b/tools/perf/util/machine.c
> > @@ -1226,7 +1226,7 @@ static void machine__set_kernel_mmap(struct machine *machine,
> >                  * Be a bit paranoid here, some perf.data file came with
> >                  * a zero sized synthesized MMAP event for the kernel.
> >                  */
> > -               if (machine->vmlinux_maps[i]->end == 0)
> > +               if (start == 0 && end == 0)
> >                         machine->vmlinux_maps[i]->end = ~0ULL;
> >         }
> 
> right, the call from machine__create_kernel_maps will have always
> the start != 0 and there will be subsequent map_groups__fixup_end
> call..
> 
> seems ok to me.. will you send the patch?

Sure. :)


>From b736729e83b62f97d716a011ccf4e430b614fecd Mon Sep 17 00:00:00 2001
From: Namhyung Kim <namhyung@kernel.org>
Date: Mon, 19 Feb 2018 19:00:46 +0900
Subject: [PATCH] perf tools: Fix paranoid check in machine__set_kernel_mmap()

The machine__set_kernel_mmap() is to setup addresses of the kernel map
using external info.  But it has a check when the address is given
from an incorrect input which should have the start and end address of
0 (i.e. machine__process_kernel_mmap_event).

But we also use the end address of 0 for a valid input so change it to
check both start and end addresses.

Signed-off-by: Namhyung Kim <namhyung@kernel.org>
---
 tools/perf/util/machine.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/perf/util/machine.c b/tools/perf/util/machine.c
index fe27ef55cbb9..12b7427444a3 100644
--- a/tools/perf/util/machine.c
+++ b/tools/perf/util/machine.c
@@ -1226,7 +1226,7 @@ static void machine__set_kernel_mmap(struct machine *machine,
 		 * Be a bit paranoid here, some perf.data file came with
 		 * a zero sized synthesized MMAP event for the kernel.
 		 */
-		if (machine->vmlinux_maps[i]->end == 0)
+		if (start == 0 && end == 0)
 			machine->vmlinux_maps[i]->end = ~0ULL;
 	}
 }
-- 
2.16.1

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

* Re: [PATCH 6/9] perf tools: Don't search for active kernel start in __machine__create_kernel_maps
  2018-02-19 10:19       ` Namhyung Kim
@ 2018-02-19 10:49         ` Jiri Olsa
  2018-02-19 12:18           ` Arnaldo Carvalho de Melo
  2018-02-21 10:25         ` [tip:perf/core] perf machine: Fix paranoid check in machine__set_kernel_mmap() tip-bot for Namhyung Kim
  1 sibling, 1 reply; 36+ messages in thread
From: Jiri Olsa @ 2018-02-19 10:49 UTC (permalink / raw)
  To: Namhyung Kim
  Cc: Jiri Olsa, Arnaldo Carvalho de Melo, lkml, Ingo Molnar,
	David Ahern, Alexander Shishkin, Peter Zijlstra, kernel-team

On Mon, Feb 19, 2018 at 07:19:36PM +0900, Namhyung Kim wrote:

SNIP

> From b736729e83b62f97d716a011ccf4e430b614fecd Mon Sep 17 00:00:00 2001
> From: Namhyung Kim <namhyung@kernel.org>
> Date: Mon, 19 Feb 2018 19:00:46 +0900
> Subject: [PATCH] perf tools: Fix paranoid check in machine__set_kernel_mmap()
> 
> The machine__set_kernel_mmap() is to setup addresses of the kernel map
> using external info.  But it has a check when the address is given
> from an incorrect input which should have the start and end address of
> 0 (i.e. machine__process_kernel_mmap_event).
> 
> But we also use the end address of 0 for a valid input so change it to
> check both start and end addresses.
> 
> Signed-off-by: Namhyung Kim <namhyung@kernel.org>

Acked-by: Jiri Olsa <jolsa@kernel.org>

thanks,
jirka

> ---
>  tools/perf/util/machine.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/tools/perf/util/machine.c b/tools/perf/util/machine.c
> index fe27ef55cbb9..12b7427444a3 100644
> --- a/tools/perf/util/machine.c
> +++ b/tools/perf/util/machine.c
> @@ -1226,7 +1226,7 @@ static void machine__set_kernel_mmap(struct machine *machine,
>  		 * Be a bit paranoid here, some perf.data file came with
>  		 * a zero sized synthesized MMAP event for the kernel.
>  		 */
> -		if (machine->vmlinux_maps[i]->end == 0)
> +		if (start == 0 && end == 0)
>  			machine->vmlinux_maps[i]->end = ~0ULL;
>  	}
>  }
> -- 
> 2.16.1
> 

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

* Re: [PATCH 6/9] perf tools: Don't search for active kernel start in __machine__create_kernel_maps
  2018-02-19 10:49         ` Jiri Olsa
@ 2018-02-19 12:18           ` Arnaldo Carvalho de Melo
  2018-04-11 23:07             ` [PATCH] Revert "perf machine: Fix paranoid check in machine__set_kernel_mmap()" Kim Phillips
  0 siblings, 1 reply; 36+ messages in thread
From: Arnaldo Carvalho de Melo @ 2018-02-19 12:18 UTC (permalink / raw)
  To: Jiri Olsa
  Cc: Namhyung Kim, Jiri Olsa, lkml, Ingo Molnar, David Ahern,
	Alexander Shishkin, Peter Zijlstra, kernel-team

Em Mon, Feb 19, 2018 at 11:49:44AM +0100, Jiri Olsa escreveu:
> On Mon, Feb 19, 2018 at 07:19:36PM +0900, Namhyung Kim wrote:
> 
> SNIP
> 
> > From b736729e83b62f97d716a011ccf4e430b614fecd Mon Sep 17 00:00:00 2001
> > From: Namhyung Kim <namhyung@kernel.org>
> > Date: Mon, 19 Feb 2018 19:00:46 +0900
> > Subject: [PATCH] perf tools: Fix paranoid check in machine__set_kernel_mmap()
> > 
> > The machine__set_kernel_mmap() is to setup addresses of the kernel map
> > using external info.  But it has a check when the address is given
> > from an incorrect input which should have the start and end address of
> > 0 (i.e. machine__process_kernel_mmap_event).
> > 
> > But we also use the end address of 0 for a valid input so change it to
> > check both start and end addresses.
> > 
> > Signed-off-by: Namhyung Kim <namhyung@kernel.org>
> 
> Acked-by: Jiri Olsa <jolsa@kernel.org>

Thanks, applied.

- Arnaldo

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

* Re: [PATCH 6/9] perf tools: Don't search for active kernel start in __machine__create_kernel_maps
  2018-02-19  2:20   ` [PATCH 6/9] perf tools: " Namhyung Kim
  2018-02-19 10:01     ` Jiri Olsa
@ 2018-02-19 12:21     ` Arnaldo Carvalho de Melo
  2018-02-19 14:05       ` Namhyung Kim
  1 sibling, 1 reply; 36+ messages in thread
From: Arnaldo Carvalho de Melo @ 2018-02-19 12:21 UTC (permalink / raw)
  To: Namhyung Kim
  Cc: Jiri Olsa, lkml, Ingo Molnar, David Ahern, Alexander Shishkin,
	Peter Zijlstra, kernel-team

Em Mon, Feb 19, 2018 at 11:20:36AM +0900, Namhyung Kim escreveu:
> On Thu, Feb 15, 2018 at 01:26:32PM +0100, Jiri Olsa wrote:
> >  	if (!machine__get_running_kernel_start(machine, &name, &addr)) {
> >  		if (name &&
> >  		    maps__set_kallsyms_ref_reloc_sym(machine->vmlinux_maps, name, addr)) {
> >  			machine__destroy_kernel_maps(machine);
> >  			return -1;
> >  		}
> > +		machine__set_kernel_mmap(machine, addr, 0);
> >  	}

> > +	/*
> > +	 * Now that we have all the maps created, just set the ->end of them:
> > +	 */
> > +	map_groups__fixup_end(&machine->kmaps);
> 
> With above change, I think it work.  But the whole point of the above
> is to set the end address of vmlinux and modules.  And now we don't
> need it for modules thanks to modules__parse() for passing the size.
> 
> So we only needs to update the end address of vmlinux using the start
> address of the first module.  What about this then?

Looks ok, Jiri? I noticed that Namhyung has the patch below in his git
tree, but I couldn't find it in the mailing list, Jiri, can I have your
acked-by?

- Arnaldo
 
> Thanks,
> Namhyung
> 
> 
> diff --git a/tools/perf/util/machine.c b/tools/perf/util/machine.c
> index fe27ef55cbb9..022f0539b750 100644
> --- a/tools/perf/util/machine.c
> +++ b/tools/perf/util/machine.c
> @@ -1021,13 +1021,6 @@ int machine__load_vmlinux_path(struct machine *machine, enum map_type type)
>         return ret;
>  }
>  
> -static void map_groups__fixup_end(struct map_groups *mg)
> -{
> -       int i;
> -       for (i = 0; i < MAP__NR_TYPES; ++i)
> -               __map_groups__fixup_end(mg, i);
> -}
> -
>  static char *get_kernel_version(const char *root_dir)
>  {
>         char version[PATH_MAX];
> @@ -1235,6 +1228,7 @@ int machine__create_kernel_maps(struct machine *machine)
>  {
>         struct dso *kernel = machine__get_kernel(machine);
>         const char *name = NULL;
> +       struct map *map;
>         u64 addr = 0;
>         int ret;
>  
> @@ -1261,13 +1255,13 @@ int machine__create_kernel_maps(struct machine *machine)
>                         machine__destroy_kernel_maps(machine);
>                         return -1;
>                 }
> -               machine__set_kernel_mmap(machine, addr, 0);
>         }
>  
> -       /*
> -        * Now that we have all the maps created, just set the ->end of them:
> -        */
> -       map_groups__fixup_end(&machine->kmaps);
> +       /* update end address of the kernel map using adjacent module address */
> +       map = map__next(machine__kernel_map(machine));
> +       if (map)
> +               machine__set_kernel_mmap(machine, addr, map->start);
> +
>         return 0;
>  }

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

* Re: [PATCH 6/9] perf tools: Don't search for active kernel start in __machine__create_kernel_maps
  2018-02-19 12:21     ` [PATCH 6/9] perf tools: Don't search for active kernel start in __machine__create_kernel_maps Arnaldo Carvalho de Melo
@ 2018-02-19 14:05       ` Namhyung Kim
  0 siblings, 0 replies; 36+ messages in thread
From: Namhyung Kim @ 2018-02-19 14:05 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo
  Cc: Jiri Olsa, lkml, Ingo Molnar, David Ahern, Alexander Shishkin,
	Peter Zijlstra, kernel-team

Hi Arnaldo,

On Mon, Feb 19, 2018 at 9:21 PM, Arnaldo Carvalho de Melo
<acme@kernel.org> wrote:
> Em Mon, Feb 19, 2018 at 11:20:36AM +0900, Namhyung Kim escreveu:
>> On Thu, Feb 15, 2018 at 01:26:32PM +0100, Jiri Olsa wrote:
>> >     if (!machine__get_running_kernel_start(machine, &name, &addr)) {
>> >             if (name &&
>> >                 maps__set_kallsyms_ref_reloc_sym(machine->vmlinux_maps, name, addr)) {
>> >                     machine__destroy_kernel_maps(machine);
>> >                     return -1;
>> >             }
>> > +           machine__set_kernel_mmap(machine, addr, 0);
>> >     }
>
>> > +   /*
>> > +    * Now that we have all the maps created, just set the ->end of them:
>> > +    */
>> > +   map_groups__fixup_end(&machine->kmaps);
>>
>> With above change, I think it work.  But the whole point of the above
>> is to set the end address of vmlinux and modules.  And now we don't
>> need it for modules thanks to modules__parse() for passing the size.
>>
>> So we only needs to update the end address of vmlinux using the start
>> address of the first module.  What about this then?
>
> Looks ok, Jiri? I noticed that Namhyung has the patch below in his git
> tree, but I couldn't find it in the mailing list, Jiri, can I have your
> acked-by?

This version has a bug that misses the call when there's no module.
I'll send a new version if Jiri agrees with the idea.

Thanks,
Namhyung


>>
>> diff --git a/tools/perf/util/machine.c b/tools/perf/util/machine.c
>> index fe27ef55cbb9..022f0539b750 100644
>> --- a/tools/perf/util/machine.c
>> +++ b/tools/perf/util/machine.c
>> @@ -1021,13 +1021,6 @@ int machine__load_vmlinux_path(struct machine *machine, enum map_type type)
>>         return ret;
>>  }
>>
>> -static void map_groups__fixup_end(struct map_groups *mg)
>> -{
>> -       int i;
>> -       for (i = 0; i < MAP__NR_TYPES; ++i)
>> -               __map_groups__fixup_end(mg, i);
>> -}
>> -
>>  static char *get_kernel_version(const char *root_dir)
>>  {
>>         char version[PATH_MAX];
>> @@ -1235,6 +1228,7 @@ int machine__create_kernel_maps(struct machine *machine)
>>  {
>>         struct dso *kernel = machine__get_kernel(machine);
>>         const char *name = NULL;
>> +       struct map *map;
>>         u64 addr = 0;
>>         int ret;
>>
>> @@ -1261,13 +1255,13 @@ int machine__create_kernel_maps(struct machine *machine)
>>                         machine__destroy_kernel_maps(machine);
>>                         return -1;
>>                 }
>> -               machine__set_kernel_mmap(machine, addr, 0);
>>         }
>>
>> -       /*
>> -        * Now that we have all the maps created, just set the ->end of them:
>> -        */
>> -       map_groups__fixup_end(&machine->kmaps);
>> +       /* update end address of the kernel map using adjacent module address */
>> +       map = map__next(machine__kernel_map(machine));
>> +       if (map)
>> +               machine__set_kernel_mmap(machine, addr, map->start);
>> +
>>         return 0;
>>  }

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

* [tip:perf/core] perf machine: Fix paranoid check in machine__set_kernel_mmap()
  2018-02-19 10:19       ` Namhyung Kim
  2018-02-19 10:49         ` Jiri Olsa
@ 2018-02-21 10:25         ` tip-bot for Namhyung Kim
  1 sibling, 0 replies; 36+ messages in thread
From: tip-bot for Namhyung Kim @ 2018-02-21 10:25 UTC (permalink / raw)
  To: linux-tip-commits
  Cc: jolsa, hpa, acme, tglx, mingo, linux-kernel, peterz, dsahern,
	alexander.shishkin, namhyung

Commit-ID:  1d12cec6ce99614297e10945d917fd8a62cd2b09
Gitweb:     https://git.kernel.org/tip/1d12cec6ce99614297e10945d917fd8a62cd2b09
Author:     Namhyung Kim <namhyung@kernel.org>
AuthorDate: Mon, 19 Feb 2018 19:00:46 +0900
Committer:  Arnaldo Carvalho de Melo <acme@redhat.com>
CommitDate: Mon, 19 Feb 2018 09:17:46 -0300

perf machine: Fix paranoid check in machine__set_kernel_mmap()

The machine__set_kernel_mmap() is to setup addresses of the kernel map
using external info.  But it has a check when the address is given from
an incorrect input which should have the start and end address of 0
(i.e. machine__process_kernel_mmap_event).

But we also use the end address of 0 for a valid input so change it to
check both start and end addresses.

Signed-off-by: Namhyung Kim <namhyung@kernel.org>
Acked-by: Jiri Olsa <jolsa@kernel.org>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: kernel-team@lge.com
Link: http://lkml.kernel.org/r/20180219101936.GD1583@sejong
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
 tools/perf/util/machine.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/perf/util/machine.c b/tools/perf/util/machine.c
index fe27ef5..12b7427 100644
--- a/tools/perf/util/machine.c
+++ b/tools/perf/util/machine.c
@@ -1226,7 +1226,7 @@ static void machine__set_kernel_mmap(struct machine *machine,
 		 * Be a bit paranoid here, some perf.data file came with
 		 * a zero sized synthesized MMAP event for the kernel.
 		 */
-		if (machine->vmlinux_maps[i]->end == 0)
+		if (start == 0 && end == 0)
 			machine->vmlinux_maps[i]->end = ~0ULL;
 	}
 }

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

* [PATCH] Revert "perf machine: Fix paranoid check in machine__set_kernel_mmap()"
  2018-02-19 12:18           ` Arnaldo Carvalho de Melo
@ 2018-04-11 23:07             ` Kim Phillips
  2018-04-11 23:31               ` Namhyung Kim
  0 siblings, 1 reply; 36+ messages in thread
From: Kim Phillips @ 2018-04-11 23:07 UTC (permalink / raw)
  To: Arnaldo Carvalho de Melo
  Cc: Jiri Olsa, Namhyung Kim, Jiri Olsa, lkml, Ingo Molnar,
	David Ahern, Alexander Shishkin, Peter Zijlstra, kernel-team

perf test 1 is failing on an arm64 box (that has a kernel module
loaded fwiw).  Running bisect resulted in commit 1d12cec6ce99 "perf
machine: Fix paranoid check in machine__set_kernel_mmap()" being the
first bad commit.  Reverting it fixes symbol resolution:

 # ./perf.bad record true; ./perf.bad --no-pager report --stdio --quiet
 [ perf record: Woken up 1 times to write data ]
 [ perf record: Captured and wrote 0.001 MB perf.data (10 samples) ]
     64.34%  true     [unknown]         [k] 0xffff20000809ffb8
     32.12%  true     [unknown]         [k] 0xffff20000869f400
      3.24%  true     [unknown]         [k] 0xffff20000868d924
      0.28%  perf.ba  [unknown]         [k] 0xffff200008598b34
      0.03%  perf.ba  [unknown]         [k] 0xffff200008598a94

 # ./perf.good record true; ./perf.good --no-pager report --stdio --quiet
 [ perf record: Woken up 1 times to write data ]
 [ perf record: Captured and wrote 0.001 MB perf.data (9 samples) ]
     91.71%  true     [kernel.kallsyms]  [k] restore_nameidata
      7.60%  true     [kernel.kallsyms]  [k] perf_iterate_ctx.constprop.38
      0.69%  perf.go  [kernel.kallsyms]  [k] perf_event_exec

Cc: Arnaldo Carvalho de Melo <acme@kernel.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: David Ahern <dsahern@gmail.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: <kernel-team@lge.com>
Fixes: 1d12cec6ce99 ("perf machine: Fix paranoid check in machine__set_kernel_mmap()")
Signed-off-by: Kim Phillips <kim.phillips@arm.com>
---
It's not clear to me what the specific intent of the original commit
was, thus the revert.

 tools/perf/util/machine.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tools/perf/util/machine.c b/tools/perf/util/machine.c
index 2eca8478e24f..089399139778 100644
--- a/tools/perf/util/machine.c
+++ b/tools/perf/util/machine.c
@@ -1224,7 +1224,7 @@ static void machine__set_kernel_mmap(struct machine *machine,
 		 * Be a bit paranoid here, some perf.data file came with
 		 * a zero sized synthesized MMAP event for the kernel.
 		 */
-		if (start == 0 && end == 0)
+		if (machine->vmlinux_maps[i]->end == 0)
 			machine->vmlinux_maps[i]->end = ~0ULL;
 	}
 }
-- 
2.17.0

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

* Re: [PATCH] Revert "perf machine: Fix paranoid check in machine__set_kernel_mmap()"
  2018-04-11 23:07             ` [PATCH] Revert "perf machine: Fix paranoid check in machine__set_kernel_mmap()" Kim Phillips
@ 2018-04-11 23:31               ` Namhyung Kim
  2018-04-12  0:29                 ` Kim Phillips
  0 siblings, 1 reply; 36+ messages in thread
From: Namhyung Kim @ 2018-04-11 23:31 UTC (permalink / raw)
  To: Kim Phillips
  Cc: Arnaldo Carvalho de Melo, Jiri Olsa, Jiri Olsa, lkml,
	Ingo Molnar, David Ahern, Alexander Shishkin, Peter Zijlstra,
	kernel-team

Hello,

On Wed, Apr 11, 2018 at 06:07:52PM -0500, Kim Phillips wrote:
> perf test 1 is failing on an arm64 box (that has a kernel module
> loaded fwiw).  Running bisect resulted in commit 1d12cec6ce99 "perf
> machine: Fix paranoid check in machine__set_kernel_mmap()" being the
> first bad commit.  Reverting it fixes symbol resolution:
> 
>  # ./perf.bad record true; ./perf.bad --no-pager report --stdio --quiet
>  [ perf record: Woken up 1 times to write data ]
>  [ perf record: Captured and wrote 0.001 MB perf.data (10 samples) ]
>      64.34%  true     [unknown]         [k] 0xffff20000809ffb8
>      32.12%  true     [unknown]         [k] 0xffff20000869f400
>       3.24%  true     [unknown]         [k] 0xffff20000868d924
>       0.28%  perf.ba  [unknown]         [k] 0xffff200008598b34
>       0.03%  perf.ba  [unknown]         [k] 0xffff200008598a94
> 
>  # ./perf.good record true; ./perf.good --no-pager report --stdio --quiet
>  [ perf record: Woken up 1 times to write data ]
>  [ perf record: Captured and wrote 0.001 MB perf.data (9 samples) ]
>      91.71%  true     [kernel.kallsyms]  [k] restore_nameidata
>       7.60%  true     [kernel.kallsyms]  [k] perf_iterate_ctx.constprop.38
>       0.69%  perf.go  [kernel.kallsyms]  [k] perf_event_exec
> 
> Cc: Arnaldo Carvalho de Melo <acme@kernel.org>
> Cc: Namhyung Kim <namhyung@kernel.org>
> Cc: Jiri Olsa <jolsa@kernel.org>
> Cc: Ingo Molnar <mingo@kernel.org>
> Cc: David Ahern <dsahern@gmail.com>
> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
> Cc: <kernel-team@lge.com>
> Fixes: 1d12cec6ce99 ("perf machine: Fix paranoid check in machine__set_kernel_mmap()")
> Signed-off-by: Kim Phillips <kim.phillips@arm.com>
> ---
> It's not clear to me what the specific intent of the original commit
> was, thus the revert.

Hmm.. maybe your kernel map has non-zero start and zero end.  I
thought it was just from an old or invalid data.  But now I think that
overflow can create it..  could you please show me the mmap event?

  $ perf script --show-mmap-events

Thanks,
Namhyung


> 
>  tools/perf/util/machine.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/tools/perf/util/machine.c b/tools/perf/util/machine.c
> index 2eca8478e24f..089399139778 100644
> --- a/tools/perf/util/machine.c
> +++ b/tools/perf/util/machine.c
> @@ -1224,7 +1224,7 @@ static void machine__set_kernel_mmap(struct machine *machine,
>  		 * Be a bit paranoid here, some perf.data file came with
>  		 * a zero sized synthesized MMAP event for the kernel.
>  		 */
> -		if (start == 0 && end == 0)
> +		if (machine->vmlinux_maps[i]->end == 0)
>  			machine->vmlinux_maps[i]->end = ~0ULL;
>  	}
>  }
> -- 
> 2.17.0
> 

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

* Re: [PATCH] Revert "perf machine: Fix paranoid check in machine__set_kernel_mmap()"
  2018-04-11 23:31               ` Namhyung Kim
@ 2018-04-12  0:29                 ` Kim Phillips
  2018-04-12  1:57                   ` Namhyung Kim
  0 siblings, 1 reply; 36+ messages in thread
From: Kim Phillips @ 2018-04-12  0:29 UTC (permalink / raw)
  To: Namhyung Kim
  Cc: Arnaldo Carvalho de Melo, Jiri Olsa, Jiri Olsa, lkml,
	Ingo Molnar, David Ahern, Alexander Shishkin, Peter Zijlstra,
	kernel-team

On Thu, 12 Apr 2018 08:31:09 +0900
Namhyung Kim <namhyung@kernel.org> wrote:

> Hello,

Hi,

> On Wed, Apr 11, 2018 at 06:07:52PM -0500, Kim Phillips wrote:
> > ---
> > It's not clear to me what the specific intent of the original commit
> > was, thus the revert.
> 
> Hmm.. maybe your kernel map has non-zero start and zero end.  I

On x86, the first line in /proc/kallsyms is:

0000000000000000 A irq_stack_union

On arm64, it's:

ffff200008080000 t _head

Another arm64 box has:

ffff000008080000 t _head

(neither have RANDOMIZE_BASE set FWIW)

> thought it was just from an old or invalid data.  But now I think that

It would be good to know what that was, yes.

> overflow can create it..  could you please show me the mmap event?
> 
>   $ perf script --show-mmap-events

Here you go:

         swapper     0 [000]     0.000000: PERF_RECORD_MMAP -1/0: [0xffff200008080000(0xdffff7f7ffff) @ 0xffff200008080000]: x [kernel.kallsyms]_text
         swapper     0 [000]     0.000000: PERF_RECORD_MMAP -1/0: [0xffff2000021e0000(0x18000) @ 0]: x /lib/modules/4.16.0+/kernel/drivers/bus/arm-ccn.ko
         systemd     0 [000]     0.000000: PERF_RECORD_MMAP2 1/1: [0xaaaab6364000(0x160000) @ 0 00:26 996379 625769152]: r-xp /usr/lib/systemd/systemd
         systemd     0 [000]     0.000000: PERF_RECORD_MMAP2 1/1: [0xffff8e1f9000(0x4000) @ 0 00:26 931300 625769152]: r-xp /usr/lib64/libuuid.so.1.3.0
         systemd     0 [000]     0.000000: PERF_RECORD_MMAP2 1/1: [0xffff8e21b000(0x40000) @ 0 00:26 948512 625769152]: r-xp /usr/lib64/libblkid.so.1.1.0
         systemd     0 [000]     0.000000: PERF_RECORD_MMAP2 1/1: [0xffff8e27d000(0x17000) @ 0 00:26 587830 625769152]: r-xp /usr/lib64/libaudit.so.1.0.0
         systemd     0 [000]     0.000000: PERF_RECORD_MMAP2 1/1: [0xffff8e2b9000(0x3000) @ 0 00:26 930995 625769152]: r-xp /lib64/libdl-2.22.so
         systemd     0 [000]     0.000000: PERF_RECORD_MMAP2 1/1: [0xffff8e2da000(0x3b000) @ 0 00:26 587843 625769152]: r-xp /usr/lib64/libpcre.so.1.2.7
         systemd     0 [000]     0.000000: PERF_RECORD_MMAP2 1/1: [0xffff8e32b000(0x149000) @ 0 00:26 930989 625769152]: r-xp /lib64/libc-2.22.so
         systemd     0 [000]     0.000000: PERF_RECORD_MMAP2 1/1: [0xffff8e492000(0x18000) @ 0 00:26 931017 625769152]: r-xp /lib64/libpthread-2.22.so
         systemd     0 [000]     0.000000: PERF_RECORD_MMAP2 1/1: [0xffff8e4c7000(0x49000) @ 0 00:26 960295 625769152]: r-xp /usr/lib64/libmount.so.1.1.0
         systemd     0 [000]     0.000000: PERF_RECORD_MMAP2 1/1: [0xffff8e529000(0xf000) @ 0 00:26 653333 625769152]: r-xp /lib64/libapparmor.so.1.3.0
         systemd     0 [000]     0.000000: PERF_RECORD_MMAP2 1/1: [0xffff8e54a000(0x14000) @ 0 00:26 931353 625769152]: r-xp /usr/lib64/libkmod.so.2.2.7
         systemd     0 [000]     0.000000: PERF_RECORD_MMAP2 1/1: [0xffff8e57b000(0xe000) @ 0 00:26 931090 625769152]: r-xp /lib64/libpam.so.0.84.2
         systemd     0 [000]     0.000000: PERF_RECORD_MMAP2 1/1: [0xffff8e59c000(0x2c000) @ 0 00:26 122824 625769152]: r-xp /usr/lib64/libseccomp.so.2.3.1
         systemd     0 [000]     0.000000: PERF_RECORD_MMAP2 1/1: [0xffff8e5ed000(0x6000) @ 0 00:26 931021 625769152]: r-xp /lib64/librt-2.22.so
         systemd     0 [000]     0.000000: PERF_RECORD_MMAP2 1/1: [0xffff8e60e000(0x4000) @ 0 00:26 123263 625769152]: r-xp /lib64/libcap.so.2.22
         systemd     0 [000]     0.000000: PERF_RECORD_MMAP2 1/1: [0xffff8e62f000(0x24000) @ 0 00:26 123567 625769152]: r-xp /lib64/libselinux.so.1
         systemd     0 [000]     0.000000: PERF_RECORD_MMAP2 1/1: [0xffff8e672000(0x1e000) @ 0 00:26 930982 625769152]: r-xp /lib64/ld-2.22.so
         systemd     0 [000]     0.000000: PERF_RECORD_MMAP2 1/1: [0xffff8e6a0000(0x1000) @ 0 00:00 0 625769152]: r-xp [vdso]
            ntpd     0 [000]     0.000000: PERF_RECORD_MMAP2 1002/1002: [0xaaaae4dbe000(0xc5000) @ 0 00:26 163364 625769152]: r-xp /usr/sbin/ntpd
            ntpd     0 [000]     0.000000: PERF_RECORD_MMAP2 1002/1002: [0xffffb5c32000(0xa000) @ 0 00:26 931011 625769152]: r-xp /lib64/libnss_nis-2.22.so
            ntpd     0 [000]     0.000000: PERF_RECORD_MMAP2 1002/1002: [0xffffb5c53000(0x15000) @ 0 00:26 930999 625769152]: r-xp /lib64/libnsl-2.22.so
            ntpd     0 [000]     0.000000: PERF_RECORD_MMAP2 1002/1002: [0xffffb5c86000(0x7000) @ 0 00:26 931001 625769152]: r-xp /lib64/libnss_compat-2.22.so
            ntpd     0 [000]     0.000000: PERF_RECORD_MMAP2 1002/1002: [0xffffb5cc7000(0xb000) @ 0 00:26 931007 625769152]: r-xp /lib64/libnss_files-2.22.so
            ntpd     0 [000]     0.000000: PERF_RECORD_MMAP2 1002/1002: [0xffffb5cef000(0x14000) @ 0 00:26 122708 625769152]: r-xp /lib64/libz.so.1.2.8
            ntpd     0 [000]     0.000000: PERF_RECORD_MMAP2 1002/1002: [0xffffb5d20000(0x3000) @ 0 00:26 930995 625769152]: r-xp /lib64/libdl-2.22.so
            ntpd     0 [000]     0.000000: PERF_RECORD_MMAP2 1002/1002: [0xffffb5d41000(0x149000) @ 0 00:26 930989 625769152]: r-xp /lib64/libc-2.22.so
            ntpd     0 [000]     0.000000: PERF_RECORD_MMAP2 1002/1002: [0xffffb5ea7000(0x1b6000) @ 0 00:26 931332 625769152]: r-xp /lib64/libcrypto.so.1.0.0
            ntpd     0 [000]     0.000000: PERF_RECORD_MMAP2 1002/1002: [0xffffb6098000(0x99000) @ 0 00:26 930997 625769152]: r-xp /lib64/libm-2.22.so
            ntpd     0 [000]     0.000000: PERF_RECORD_MMAP2 1002/1002: [0xffffb6149000(0x4000) @ 0 00:26 123263 625769152]: r-xp /lib64/libcap.so.2.22
            ntpd     0 [000]     0.000000: PERF_RECORD_MMAP2 1002/1002: [0xffffb616a000(0x1e000) @ 0 00:26 930982 625769152]: r-xp /lib64/ld-2.22.so
            ntpd     0 [000]     0.000000: PERF_RECORD_MMAP2 1002/1002: [0xffffb6198000(0x1000) @ 0 00:00 0 625769152]: r-xp [vdso]
            ntpd     0 [000]     0.000000: PERF_RECORD_MMAP2 1003/1003: [0xaaaae4dbe000(0xc5000) @ 0 00:26 163364 625769152]: r-xp /usr/sbin/ntpd
            ntpd     0 [000]     0.000000: PERF_RECORD_MMAP2 1003/1003: [0xffffb5bde000(0x13000) @ 0 00:26 931019 625769152]: r-xp /lib64/libresolv-2.22.so
            ntpd     0 [000]     0.000000: PERF_RECORD_MMAP2 1003/1003: [0xffffb5c11000(0x5000) @ 0 00:26 931005 625769152]: r-xp /lib64/libnss_dns-2.22.so
            ntpd     0 [000]     0.000000: PERF_RECORD_MMAP2 1003/1003: [0xffffb5c32000(0xa000) @ 0 00:26 931011 625769152]: r-xp /lib64/libnss_nis-2.22.so
            ntpd     0 [000]     0.000000: PERF_RECORD_MMAP2 1003/1003: [0xffffb5c53000(0x15000) @ 0 00:26 930999 625769152]: r-xp /lib64/libnsl-2.22.so
            ntpd     0 [000]     0.000000: PERF_RECORD_MMAP2 1003/1003: [0xffffb5c86000(0x7000) @ 0 00:26 931001 625769152]: r-xp /lib64/libnss_compat-2.22.so
            ntpd     0 [000]     0.000000: PERF_RECORD_MMAP2 1003/1003: [0xffffb5cc7000(0xb000) @ 0 00:26 931007 625769152]: r-xp /lib64/libnss_files-2.22.so
            ntpd     0 [000]     0.000000: PERF_RECORD_MMAP2 1003/1003: [0xffffb5cef000(0x14000) @ 0 00:26 122708 625769152]: r-xp /lib64/libz.so.1.2.8
            ntpd     0 [000]     0.000000: PERF_RECORD_MMAP2 1003/1003: [0xffffb5d20000(0x3000) @ 0 00:26 930995 625769152]: r-xp /lib64/libdl-2.22.so
            ntpd     0 [000]     0.000000: PERF_RECORD_MMAP2 1003/1003: [0xffffb5d41000(0x149000) @ 0 00:26 930989 625769152]: r-xp /lib64/libc-2.22.so
            ntpd     0 [000]     0.000000: PERF_RECORD_MMAP2 1003/1003: [0xffffb5ea7000(0x1b6000) @ 0 00:26 931332 625769152]: r-xp /lib64/libcrypto.so.1.0.0
            ntpd     0 [000]     0.000000: PERF_RECORD_MMAP2 1003/1003: [0xffffb6098000(0x99000) @ 0 00:26 930997 625769152]: r-xp /lib64/libm-2.22.so
            ntpd     0 [000]     0.000000: PERF_RECORD_MMAP2 1003/1003: [0xffffb6149000(0x4000) @ 0 00:26 123263 625769152]: r-xp /lib64/libcap.so.2.22
            ntpd     0 [000]     0.000000: PERF_RECORD_MMAP2 1003/1003: [0xffffb616a000(0x1e000) @ 0 00:26 930982 625769152]: r-xp /lib64/ld-2.22.so
            ntpd     0 [000]     0.000000: PERF_RECORD_MMAP2 1003/1003: [0xffffb6198000(0x1000) @ 0 00:00 0 625769152]: r-xp [vdso]
          master     0 [000]     0.000000: PERF_RECORD_MMAP2 1086/1086: [0xaaaabb5e1000(0xa000) @ 0 00:26 171689 625769152]: r-xp /usr/lib/postfix/master
          master     0 [000]     0.000000: PERF_RECORD_MMAP2 1086/1086: [0xffff988e6000(0xb000) @ 0 00:26 931007 625769152]: r-xp /lib64/libnss_files-2.22.so
          master     0 [000]     0.000000: PERF_RECORD_MMAP2 1086/1086: [0xffff9890d000(0xa000) @ 0 00:26 931011 625769152]: r-xp /lib64/libnss_nis-2.22.so
          master     0 [000]     0.000000: PERF_RECORD_MMAP2 1086/1086: [0xffff9892e000(0x7000) @ 0 00:26 931001 625769152]: r-xp /lib64/libnss_compat-2.22.so
          master     0 [000]     0.000000: PERF_RECORD_MMAP2 1086/1086: [0xffff98954000(0x14000) @ 0 00:26 976314 625769152]: r-xp /lib64/libgcc_s.so.1
          master     0 [000]     0.000000: PERF_RECORD_MMAP2 1086/1086: [0xffff98985000(0x99000) @ 0 00:26 930997 625769152]: r-xp /lib64/libm-2.22.so
          master     0 [000]     0.000000: PERF_RECORD_MMAP2 1086/1086: [0xffff98a36000(0x180000) @ 0 00:26 976359 625769152]: r-xp /usr/lib64/libstdc++.so.6.0.24
          master     0 [000]     0.000000: PERF_RECORD_MMAP2 1086/1086: [0xffff98bfc000(0x16e000) @ 0 00:26 150445 625769152]: r-xp /usr/lib64/libicuuc.so.52.1
          master     0 [000]     0.000000: PERF_RECORD_MMAP2 1086/1086: [0xffff98d91000(0x3000) @ 0 00:26 930995 625769152]: r-xp /lib64/libdl-2.22.so
          master     0 [000]     0.000000: PERF_RECORD_MMAP2 1086/1086: [0xffff98db2000(0x15000) @ 0 00:26 930999 625769152]: r-xp /lib64/libnsl-2.22.so
          master     0 [000]     0.000000: PERF_RECORD_MMAP2 1086/1086: [0xffff98de5000(0x156000) @ 0 00:26 123918 625769152]: r-xp /usr/lib64/libdb-4.8.so
          master     0 [000]     0.000000: PERF_RECORD_MMAP2 1086/1086: [0xffff98f58000(0x149000) @ 0 00:26 930989 625769152]: r-xp /lib64/libc-2.22.so
          master     0 [000]     0.000000: PERF_RECORD_MMAP2 1086/1086: [0xffff990be000(0x18000) @ 0 00:26 931017 625769152]: r-xp /lib64/libpthread-2.22.so
          master     0 [000]     0.000000: PERF_RECORD_MMAP2 1086/1086: [0xffff990f3000(0x41000) @ 0 00:26 171685 625769152]: r-xp /usr/lib/postfix/libpostfix-util.so
          master     0 [000]     0.000000: PERF_RECORD_MMAP2 1086/1086: [0xffff99156000(0x43000) @ 0 00:26 171682 625769152]: r-xp /usr/lib/postfix/libpostfix-global.so
          master     0 [000]     0.000000: PERF_RECORD_MMAP2 1086/1086: [0xffff991b8000(0x1e000) @ 0 00:26 930982 625769152]: r-xp /lib64/ld-2.22.so
          master     0 [000]     0.000000: PERF_RECORD_MMAP2 1086/1086: [0xffff991e6000(0x1000) @ 0 00:00 0 625769152]: r-xp [vdso]
            qmgr     0 [000]     0.000000: PERF_RECORD_MMAP2 1088/1088: [0xaaaad7514000(0x10000) @ 0 00:26 171830 625769152]: r-xp /usr/lib/postfix/qmgr
            qmgr     0 [000]     0.000000: PERF_RECORD_MMAP2 1088/1088: [0xffff98de5000(0xb000) @ 0 00:26 931007 625769152]: r-xp /lib64/libnss_files-2.22.so
            qmgr     0 [000]     0.000000: PERF_RECORD_MMAP2 1088/1088: [0xffff98e0c000(0xa000) @ 0 00:26 931011 625769152]: r-xp /lib64/libnss_nis-2.22.so
            qmgr     0 [000]     0.000000: PERF_RECORD_MMAP2 1088/1088: [0xffff98e2d000(0x7000) @ 0 00:26 931001 625769152]: r-xp /lib64/libnss_compat-2.22.so
            qmgr     0 [000]     0.000000: PERF_RECORD_MMAP2 1088/1088: [0xffff98e52000(0x14000) @ 0 00:26 976314 625769152]: r-xp /lib64/libgcc_s.so.1
            qmgr     0 [000]     0.000000: PERF_RECORD_MMAP2 1088/1088: [0xffff98e84000(0x99000) @ 0 00:26 930997 625769152]: r-xp /lib64/libm-2.22.so
            qmgr     0 [000]     0.000000: PERF_RECORD_MMAP2 1088/1088: [0xffff98f35000(0x180000) @ 0 00:26 976359 625769152]: r-xp /usr/lib64/libstdc++.so.6.0.24
            qmgr     0 [000]     0.000000: PERF_RECORD_MMAP2 1088/1088: [0xffff990fb000(0x16e000) @ 0 00:26 150445 625769152]: r-xp /usr/lib64/libicuuc.so.52.1
            qmgr     0 [000]     0.000000: PERF_RECORD_MMAP2 1088/1088: [0xffff99290000(0x3000) @ 0 00:26 930995 625769152]: r-xp /lib64/libdl-2.22.so
            qmgr     0 [000]     0.000000: PERF_RECORD_MMAP2 1088/1088: [0xffff992b1000(0x15000) @ 0 00:26 930999 625769152]: r-xp /lib64/libnsl-2.22.so
            qmgr     0 [000]     0.000000: PERF_RECORD_MMAP2 1088/1088: [0xffff992e4000(0x156000) @ 0 00:26 123918 625769152]: r-xp /usr/lib64/libdb-4.8.so
            qmgr     0 [000]     0.000000: PERF_RECORD_MMAP2 1088/1088: [0xffff99457000(0x149000) @ 0 00:26 930989 625769152]: r-xp /lib64/libc-2.22.so
            qmgr     0 [000]     0.000000: PERF_RECORD_MMAP2 1088/1088: [0xffff995bd000(0x18000) @ 0 00:26 931017 625769152]: r-xp /lib64/libpthread-2.22.so
            qmgr     0 [000]     0.000000: PERF_RECORD_MMAP2 1088/1088: [0xffff995f2000(0x41000) @ 0 00:26 171685 625769152]: r-xp /usr/lib/postfix/libpostfix-util.so
            qmgr     0 [000]     0.000000: PERF_RECORD_MMAP2 1088/1088: [0xffff99655000(0x43000) @ 0 00:26 171682 625769152]: r-xp /usr/lib/postfix/libpostfix-global.so
            qmgr     0 [000]     0.000000: PERF_RECORD_MMAP2 1088/1088: [0xffff996b7000(0xa000) @ 0 00:26 171683 625769152]: r-xp /usr/lib/postfix/libpostfix-master.so
            qmgr     0 [000]     0.000000: PERF_RECORD_MMAP2 1088/1088: [0xffff996d8000(0x1e000) @ 0 00:26 930982 625769152]: r-xp /lib64/ld-2.22.so
            qmgr     0 [000]     0.000000: PERF_RECORD_MMAP2 1088/1088: [0xffff99706000(0x1000) @ 0 00:00 0 625769152]: r-xp [vdso]
            cron     0 [000]     0.000000: PERF_RECORD_MMAP2 1101/1101: [0xaaaac7981000(0x10000) @ 0 00:26 163944 625769152]: r-xp /usr/sbin/cron
            cron     0 [000]     0.000000: PERF_RECORD_MMAP2 1101/1101: [0xffffa3b55000(0xb000) @ 0 00:26 931007 625769152]: r-xp /lib64/libnss_files-2.22.so
            cron     0 [000]     0.000000: PERF_RECORD_MMAP2 1101/1101: [0xffffa3b7c000(0xa000) @ 0 00:26 931011 625769152]: r-xp /lib64/libnss_nis-2.22.so
            cron     0 [000]     0.000000: PERF_RECORD_MMAP2 1101/1101: [0xffffa3b9d000(0x15000) @ 0 00:26 930999 625769152]: r-xp /lib64/libnsl-2.22.so
            cron     0 [000]     0.000000: PERF_RECORD_MMAP2 1101/1101: [0xffffa3bd0000(0x7000) @ 0 00:26 931001 625769152]: r-xp /lib64/libnss_compat-2.22.so
            cron     0 [000]     0.000000: PERF_RECORD_MMAP2 1101/1101: [0xffffa3c53000(0x3000) @ 0 00:26 930995 625769152]: r-xp /lib64/libdl-2.22.so
            cron     0 [000]     0.000000: PERF_RECORD_MMAP2 1101/1101: [0xffffa3c74000(0x3b000) @ 0 00:26 587843 625769152]: r-xp /usr/lib64/libpcre.so.1.2.7
            cron     0 [000]     0.000000: PERF_RECORD_MMAP2 1101/1101: [0xffffa3cc5000(0x149000) @ 0 00:26 930989 625769152]: r-xp /lib64/libc-2.22.so
            cron     0 [000]     0.000000: PERF_RECORD_MMAP2 1101/1101: [0xffffa3e2b000(0x17000) @ 0 00:26 587830 625769152]: r-xp /usr/lib64/libaudit.so.1.0.0
            cron     0 [000]     0.000000: PERF_RECORD_MMAP2 1101/1101: [0xffffa3e66000(0xe000) @ 0 00:26 931090 625769152]: r-xp /lib64/libpam.so.0.84.2
            cron     0 [000]     0.000000: PERF_RECORD_MMAP2 1101/1101: [0xffffa3e87000(0x24000) @ 0 00:26 123567 625769152]: r-xp /lib64/libselinux.so.1
            cron     0 [000]     0.000000: PERF_RECORD_MMAP2 1101/1101: [0xffffa3eca000(0x1e000) @ 0 00:26 930982 625769152]: r-xp /lib64/ld-2.22.so
            cron     0 [000]     0.000000: PERF_RECORD_MMAP2 1101/1101: [0xffffa3ef8000(0x1000) @ 0 00:00 0 625769152]: r-xp [vdso]
         systemd     0 [000]     0.000000: PERF_RECORD_MMAP2 1153/1153: [0xaaaabf99e000(0x160000) @ 0 00:26 996379 625769152]: r-xp /usr/lib/systemd/systemd
         systemd     0 [000]     0.000000: PERF_RECORD_MMAP2 1153/1153: [0xffffa999a000(0xb000) @ 0 00:26 931007 625769152]: r-xp /lib64/libnss_files-2.22.so
         systemd     0 [000]     0.000000: PERF_RECORD_MMAP2 1153/1153: [0xffffa99c1000(0xa000) @ 0 00:26 931011 625769152]: r-xp /lib64/libnss_nis-2.22.so
         systemd     0 [000]     0.000000: PERF_RECORD_MMAP2 1153/1153: [0xffffa99e2000(0x15000) @ 0 00:26 930999 625769152]: r-xp /lib64/libnsl-2.22.so
         systemd     0 [000]     0.000000: PERF_RECORD_MMAP2 1153/1153: [0xffffa9a15000(0x7000) @ 0 00:26 931001 625769152]: r-xp /lib64/libnss_compat-2.22.so
         systemd     0 [000]     0.000000: PERF_RECORD_MMAP2 1153/1153: [0xffffa9a39000(0x4000) @ 0 00:26 931300 625769152]: r-xp /usr/lib64/libuuid.so.1.3.0
         systemd     0 [000]     0.000000: PERF_RECORD_MMAP2 1153/1153: [0xffffa9a5b000(0x40000) @ 0 00:26 948512 625769152]: r-xp /usr/lib64/libblkid.so.1.1.0
         systemd     0 [000]     0.000000: PERF_RECORD_MMAP2 1153/1153: [0xffffa9abd000(0x17000) @ 0 00:26 587830 625769152]: r-xp /usr/lib64/libaudit.so.1.0.0
         systemd     0 [000]     0.000000: PERF_RECORD_MMAP2 1153/1153: [0xffffa9af9000(0x3000) @ 0 00:26 930995 625769152]: r-xp /lib64/libdl-2.22.so
         systemd     0 [000]     0.000000: PERF_RECORD_MMAP2 1153/1153: [0xffffa9b1a000(0x3b000) @ 0 00:26 587843 625769152]: r-xp /usr/lib64/libpcre.so.1.2.7
         systemd     0 [000]     0.000000: PERF_RECORD_MMAP2 1153/1153: [0xffffa9b6b000(0x149000) @ 0 00:26 930989 625769152]: r-xp /lib64/libc-2.22.so
         systemd     0 [000]     0.000000: PERF_RECORD_MMAP2 1153/1153: [0xffffa9cd2000(0x18000) @ 0 00:26 931017 625769152]: r-xp /lib64/libpthread-2.22.so
         systemd     0 [000]     0.000000: PERF_RECORD_MMAP2 1153/1153: [0xffffa9d07000(0x49000) @ 0 00:26 960295 625769152]: r-xp /usr/lib64/libmount.so.1.1.0
         systemd     0 [000]     0.000000: PERF_RECORD_MMAP2 1153/1153: [0xffffa9d69000(0xf000) @ 0 00:26 653333 625769152]: r-xp /lib64/libapparmor.so.1.3.0
         systemd     0 [000]     0.000000: PERF_RECORD_MMAP2 1153/1153: [0xffffa9d8a000(0x14000) @ 0 00:26 931353 625769152]: r-xp /usr/lib64/libkmod.so.2.2.7
         systemd     0 [000]     0.000000: PERF_RECORD_MMAP2 1153/1153: [0xffffa9dbb000(0xe000) @ 0 00:26 931090 625769152]: r-xp /lib64/libpam.so.0.84.2
         systemd     0 [000]     0.000000: PERF_RECORD_MMAP2 1153/1153: [0xffffa9ddc000(0x2c000) @ 0 00:26 122824 625769152]: r-xp /usr/lib64/libseccomp.so.2.3.1
         systemd     0 [000]     0.000000: PERF_RECORD_MMAP2 1153/1153: [0xffffa9e2d000(0x6000) @ 0 00:26 931021 625769152]: r-xp /lib64/librt-2.22.so
         systemd     0 [000]     0.000000: PERF_RECORD_MMAP2 1153/1153: [0xffffa9e4e000(0x4000) @ 0 00:26 123263 625769152]: r-xp /lib64/libcap.so.2.22
         systemd     0 [000]     0.000000: PERF_RECORD_MMAP2 1153/1153: [0xffffa9e6f000(0x24000) @ 0 00:26 123567 625769152]: r-xp /lib64/libselinux.so.1
         systemd     0 [000]     0.000000: PERF_RECORD_MMAP2 1153/1153: [0xffffa9eb2000(0x1e000) @ 0 00:26 930982 625769152]: r-xp /lib64/ld-2.22.so
         systemd     0 [000]     0.000000: PERF_RECORD_MMAP2 1153/1153: [0xffffa9ee0000(0x1000) @ 0 00:00 0 625769152]: r-xp [vdso]
        (sd-pam)     0 [000]     0.000000: PERF_RECORD_MMAP2 1154/1154: [0xaaaab6364000(0x160000) @ 0 00:26 996379 625769152]: r-xp /usr/lib/systemd/systemd
        (sd-pam)     0 [000]     0.000000: PERF_RECORD_MMAP2 1154/1154: [0xffff8dd1a000(0x1000) @ 0 00:26 931098 625769152]: r-xp /lib64/security/pam_deny.so
        (sd-pam)     0 [000]     0.000000: PERF_RECORD_MMAP2 1154/1154: [0xffff8dd3b000(0x1000) @ 0 00:26 931134 625769152]: r-xp /lib64/security/pam_warn.so
        (sd-pam)     0 [000]     0.000000: PERF_RECORD_MMAP2 1154/1154: [0xffff8dd5c000(0x3000) @ 0 00:26 931100 625769152]: r-xp /lib64/security/pam_env.so
        (sd-pam)     0 [000]     0.000000: PERF_RECORD_MMAP2 1154/1154: [0xffff8dd7d000(0x5000) @ 0 00:26 123300 625769152]: r-xp /lib64/libattr.so.1.1.0
        (sd-pam)     0 [000]     0.000000: PERF_RECORD_MMAP2 1154/1154: [0xffff8dd9e000(0x3000) @ 0 00:26 931092 625769152]: r-xp /lib64/libpam_misc.so.0.82.1
        (sd-pam)     0 [000]     0.000000: PERF_RECORD_MMAP2 1154/1154: [0xffff8ddbf000(0x8000) @ 0 00:26 123721 625769152]: r-xp /lib64/libacl.so.1.1.0
        (sd-pam)     0 [000]     0.000000: PERF_RECORD_MMAP2 1154/1154: [0xffff8dde0000(0x13000) @ 0 00:26 123088 625769152]: r-xp /usr/lib64/libgpg-error.so.0.22.0
        (sd-pam)     0 [000]     0.000000: PERF_RECORD_MMAP2 1154/1154: [0xffff8de11000(0x9e000) @ 0 00:26 653339 625769152]: r-xp /usr/lib64/libgcrypt.so.20.0.1
        (sd-pam)     0 [000]     0.000000: PERF_RECORD_MMAP2 1154/1154: [0xffff8dec5000(0x24000) @ 0 00:26 123031 625769152]: r-xp /usr/lib64/liblzma.so.5.2.2
        (sd-pam)     0 [000]     0.000000: PERF_RECORD_MMAP2 1154/1154: [0xffff8df06000(0x13000) @ 0 00:26 931019 625769152]: r-xp /lib64/libresolv-2.22.so
        (sd-pam)     0 [000]     0.000000: PERF_RECORD_MMAP2 1154/1154: [0xffff8df39000(0x99000) @ 0 00:26 930997 625769152]: r-xp /lib64/libm-2.22.so
        (sd-pam)     0 [000]     0.000000: PERF_RECORD_MMAP2 1154/1154: [0xffff8dfea000(0x49000) @ 0 00:26 996107 625769152]: r-xp /lib64/security/pam_systemd.so
        (sd-pam)     0 [000]     0.000000: PERF_RECORD_MMAP2 1154/1154: [0xffff8e04b000(0x2000) @ 0 00:26 931133 625769152]: r-xp /lib64/security/pam_umask.so
        (sd-pam)     0 [000]     0.000000: PERF_RECORD_MMAP2 1154/1154: [0xffff8e06c000(0x4000) @ 0 00:26 931110 625769152]: r-xp /lib64/security/pam_limits.so
        (sd-pam)     0 [000]     0.000000: PERF_RECORD_MMAP2 1154/1154: [0xffff8e08d000(0x4000) @ 0 00:26 931124 625769152]: r-xp /lib64/security/pam_selinux.so
        (sd-pam)     0 [000]     0.000000: PERF_RECORD_MMAP2 1154/1154: [0xffff8e0ae000(0xb000) @ 0 00:26 930993 625769152]: r-xp /lib64/libcrypt-2.22.so
        (sd-pam)     0 [000]     0.000000: PERF_RECORD_MMAP2 1154/1154: [0xffff8e0fd000(0xc000) @ 0 00:26 931273 625769152]: r-xp /lib64/security/pam_unix.so
        (sd-pam)     0 [000]     0.000000: PERF_RECORD_MMAP2 1154/1154: [0xffff8e14a000(0xb000) @ 0 00:26 931007 625769152]: r-xp /lib64/libnss_files-2.22.so
        (sd-pam)     0 [000]     0.000000: PERF_RECORD_MMAP2 1154/1154: [0xffff8e171000(0xa000) @ 0 00:26 931011 625769152]: r-xp /lib64/libnss_nis-2.22.so
        (sd-pam)     0 [000]     0.000000: PERF_RECORD_MMAP2 1154/1154: [0xffff8e192000(0x15000) @ 0 00:26 930999 625769152]: r-xp /lib64/libnsl-2.22.so
        (sd-pam)     0 [000]     0.000000: PERF_RECORD_MMAP2 1154/1154: [0xffff8e1c5000(0x7000) @ 0 00:26 931001 625769152]: r-xp /lib64/libnss_compat-2.22.so
        (sd-pam)     0 [000]     0.000000: PERF_RECORD_MMAP2 1154/1154: [0xffff8e1f9000(0x4000) @ 0 00:26 931300 625769152]: r-xp /usr/lib64/libuuid.so.1.3.0
        (sd-pam)     0 [000]     0.000000: PERF_RECORD_MMAP2 1154/1154: [0xffff8e21b000(0x40000) @ 0 00:26 948512 625769152]: r-xp /usr/lib64/libblkid.so.1.1.0
        (sd-pam)     0 [000]     0.000000: PERF_RECORD_MMAP2 1154/1154: [0xffff8e27d000(0x17000) @ 0 00:26 587830 625769152]: r-xp /usr/lib64/libaudit.so.1.0.0
        (sd-pam)     0 [000]     0.000000: PERF_RECORD_MMAP2 1154/1154: [0xffff8e2b9000(0x3000) @ 0 00:26 930995 625769152]: r-xp /lib64/libdl-2.22.so
        (sd-pam)     0 [000]     0.000000: PERF_RECORD_MMAP2 1154/1154: [0xffff8e2da000(0x3b000) @ 0 00:26 587843 625769152]: r-xp /usr/lib64/libpcre.so.1.2.7
        (sd-pam)     0 [000]     0.000000: PERF_RECORD_MMAP2 1154/1154: [0xffff8e32b000(0x149000) @ 0 00:26 930989 625769152]: r-xp /lib64/libc-2.22.so
        (sd-pam)     0 [000]     0.000000: PERF_RECORD_MMAP2 1154/1154: [0xffff8e492000(0x18000) @ 0 00:26 931017 625769152]: r-xp /lib64/libpthread-2.22.so
        (sd-pam)     0 [000]     0.000000: PERF_RECORD_MMAP2 1154/1154: [0xffff8e4c7000(0x49000) @ 0 00:26 960295 625769152]: r-xp /usr/lib64/libmount.so.1.1.0
        (sd-pam)     0 [000]     0.000000: PERF_RECORD_MMAP2 1154/1154: [0xffff8e529000(0xf000) @ 0 00:26 653333 625769152]: r-xp /lib64/libapparmor.so.1.3.0
        (sd-pam)     0 [000]     0.000000: PERF_RECORD_MMAP2 1154/1154: [0xffff8e54a000(0x14000) @ 0 00:26 931353 625769152]: r-xp /usr/lib64/libkmod.so.2.2.7
        (sd-pam)     0 [000]     0.000000: PERF_RECORD_MMAP2 1154/1154: [0xffff8e57b000(0xe000) @ 0 00:26 931090 625769152]: r-xp /lib64/libpam.so.0.84.2
        (sd-pam)     0 [000]     0.000000: PERF_RECORD_MMAP2 1154/1154: [0xffff8e59c000(0x2c000) @ 0 00:26 122824 625769152]: r-xp /usr/lib64/libseccomp.so.2.3.1
        (sd-pam)     0 [000]     0.000000: PERF_RECORD_MMAP2 1154/1154: [0xffff8e5ed000(0x6000) @ 0 00:26 931021 625769152]: r-xp /lib64/librt-2.22.so
        (sd-pam)     0 [000]     0.000000: PERF_RECORD_MMAP2 1154/1154: [0xffff8e60e000(0x4000) @ 0 00:26 123263 625769152]: r-xp /lib64/libcap.so.2.22
        (sd-pam)     0 [000]     0.000000: PERF_RECORD_MMAP2 1154/1154: [0xffff8e62f000(0x24000) @ 0 00:26 123567 625769152]: r-xp /lib64/libselinux.so.1
        (sd-pam)     0 [000]     0.000000: PERF_RECORD_MMAP2 1154/1154: [0xffff8e672000(0x1e000) @ 0 00:26 930982 625769152]: r-xp /lib64/ld-2.22.so
        (sd-pam)     0 [000]     0.000000: PERF_RECORD_MMAP2 1154/1154: [0xffff8e6a0000(0x1000) @ 0 00:00 0 625769152]: r-xp [vdso]
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 18656/18656: [0xaaaabe3a5000(0xd6000) @ 0 00:26 961857 625769152]: r-xp /usr/sbin/sshd
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 18656/18656: [0xffffb3eb3000(0x1000) @ 0 00:26 931098 625769152]: r-xp /lib64/security/pam_deny.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 18656/18656: [0xffffb3ed4000(0x1000) @ 0 00:26 931134 625769152]: r-xp /lib64/security/pam_warn.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 18656/18656: [0xffffb3ef5000(0x3000) @ 0 00:26 931109 625769152]: r-xp /lib64/security/pam_lastlog.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 18656/18656: [0xffffb3f16000(0x5000) @ 0 00:26 123300 625769152]: r-xp /lib64/libattr.so.1.1.0
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 18656/18656: [0xffffb3f37000(0x3000) @ 0 00:26 931092 625769152]: r-xp /lib64/libpam_misc.so.0.82.1
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 18656/18656: [0xffffb3f58000(0x2c000) @ 0 00:26 122824 625769152]: r-xp /usr/lib64/libseccomp.so.2.3.1
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 18656/18656: [0xffffb3fa9000(0x8000) @ 0 00:26 123721 625769152]: r-xp /lib64/libacl.so.1.1.0
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 18656/18656: [0xffffb3fca000(0x13000) @ 0 00:26 123088 625769152]: r-xp /usr/lib64/libgpg-error.so.0.22.0
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 18656/18656: [0xffffb3ffb000(0x9e000) @ 0 00:26 653339 625769152]: r-xp /usr/lib64/libgcrypt.so.20.0.1
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 18656/18656: [0xffffb40af000(0x24000) @ 0 00:26 123031 625769152]: r-xp /usr/lib64/liblzma.so.5.2.2
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 18656/18656: [0xffffb40f0000(0x99000) @ 0 00:26 930997 625769152]: r-xp /lib64/libm-2.22.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 18656/18656: [0xffffb41a1000(0x6000) @ 0 00:26 931021 625769152]: r-xp /lib64/librt-2.22.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 18656/18656: [0xffffb41c2000(0x4000) @ 0 00:26 123263 625769152]: r-xp /lib64/libcap.so.2.22
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 18656/18656: [0xffffb41e3000(0x49000) @ 0 00:26 996107 625769152]: r-xp /lib64/security/pam_systemd.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 18656/18656: [0xffffb4244000(0x2000) @ 0 00:26 931133 625769152]: r-xp /lib64/security/pam_umask.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 18656/18656: [0xffffb4265000(0x4000) @ 0 00:26 931110 625769152]: r-xp /lib64/security/pam_limits.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 18656/18656: [0xffffb4286000(0x2000) @ 0 00:26 931113 625769152]: r-xp /lib64/security/pam_loginuid.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 18656/18656: [0xffffb42a7000(0x9000) @ 0 00:26 133221 625769152]: r-xp /usr/lib64/libcrack.so.2.9.0
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 18656/18656: [0xffffb42cc000(0x3000) @ 0 00:26 931096 625769152]: r-xp /lib64/security/pam_cracklib.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 18656/18656: [0xffffb42ed000(0xc000) @ 0 00:26 931273 625769152]: r-xp /lib64/security/pam_unix.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 18656/18656: [0xffffb431a000(0x3000) @ 0 00:26 931100 625769152]: r-xp /lib64/security/pam_env.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 18656/18656: [0xffffb434b000(0x2000) @ 0 00:26 931118 625769152]: r-xp /lib64/security/pam_nologin.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 18656/18656: [0xffffb437c000(0xb000) @ 0 00:26 931007 625769152]: r-xp /lib64/libnss_files-2.22.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 18656/18656: [0xffffb43a3000(0xa000) @ 0 00:26 931011 625769152]: r-xp /lib64/libnss_nis-2.22.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 18656/18656: [0xffffb43c4000(0x15000) @ 0 00:26 930999 625769152]: r-xp /lib64/libnsl-2.22.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 18656/18656: [0xffffb43f7000(0x7000) @ 0 00:26 931001 625769152]: r-xp /lib64/libnss_compat-2.22.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 18656/18656: [0xffffb441c000(0x18000) @ 0 00:26 931017 625769152]: r-xp /lib64/libpthread-2.22.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 18656/18656: [0xffffb4451000(0x13000) @ 0 00:26 931019 625769152]: r-xp /lib64/libresolv-2.22.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 18656/18656: [0xffffb4484000(0x3000) @ 0 00:26 123051 625769152]: r-xp /lib64/libkeyutils.so.1.5
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 18656/18656: [0xffffb44a6000(0xd000) @ 0 00:26 653324 625769152]: r-xp /usr/lib64/libkrb5support.so.0.1
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 18656/18656: [0xffffb44c7000(0x2e000) @ 0 00:26 653312 625769152]: r-xp /usr/lib64/libk5crypto.so.3.1
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 18656/18656: [0xffffb4509000(0x3b000) @ 0 00:26 587843 625769152]: r-xp /usr/lib64/libpcre.so.1.2.7
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 18656/18656: [0xffffb455b000(0x3000) @ 0 00:26 930995 625769152]: r-xp /lib64/libdl-2.22.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 18656/18656: [0xffffb457c000(0x149000) @ 0 00:26 930989 625769152]: r-xp /lib64/libc-2.22.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 18656/18656: [0xffffb46e2000(0x3000) @ 0 00:26 123247 625769152]: r-xp /usr/lib64/libcom_err.so.2.1
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 18656/18656: [0xffffb4704000(0xc0000) @ 0 00:26 653322 625769152]: r-xp /usr/lib64/libkrb5.so.3.3
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 18656/18656: [0xffffb47e7000(0x43000) @ 0 00:26 653308 625769152]: r-xp /usr/lib64/libgssapi_krb5.so.2.2
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 18656/18656: [0xffffb4849000(0xb000) @ 0 00:26 930993 625769152]: r-xp /lib64/libcrypt-2.22.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 18656/18656: [0xffffb4898000(0x14000) @ 0 00:26 122708 625769152]: r-xp /lib64/libz.so.1.2.8
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 18656/18656: [0xffffb48c9000(0x2000) @ 0 00:26 931025 625769152]: r-xp /lib64/libutil-2.22.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 18656/18656: [0xffffb48ea000(0x1b6000) @ 0 00:26 931332 625769152]: r-xp /lib64/libcrypto.so.1.0.0
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 18656/18656: [0xffffb4adb000(0x24000) @ 0 00:26 123567 625769152]: r-xp /lib64/libselinux.so.1
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 18656/18656: [0xffffb4b1e000(0xe000) @ 0 00:26 931090 625769152]: r-xp /lib64/libpam.so.0.84.2
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 18656/18656: [0xffffb4b3f000(0x17000) @ 0 00:26 587830 625769152]: r-xp /usr/lib64/libaudit.so.1.0.0
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 18656/18656: [0xffffb4b7a000(0x1e000) @ 0 00:26 930982 625769152]: r-xp /lib64/ld-2.22.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 18656/18656: [0xffffb4ba8000(0x1000) @ 0 00:00 0 625769152]: r-xp [vdso]
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 18658/18658: [0xaaaabe3a5000(0xd6000) @ 0 00:26 961857 625769152]: r-xp /usr/sbin/sshd
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 18658/18658: [0xffffb3eb3000(0x1000) @ 0 00:26 931098 625769152]: r-xp /lib64/security/pam_deny.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 18658/18658: [0xffffb3ed4000(0x1000) @ 0 00:26 931134 625769152]: r-xp /lib64/security/pam_warn.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 18658/18658: [0xffffb3ef5000(0x3000) @ 0 00:26 931109 625769152]: r-xp /lib64/security/pam_lastlog.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 18658/18658: [0xffffb3f16000(0x5000) @ 0 00:26 123300 625769152]: r-xp /lib64/libattr.so.1.1.0
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 18658/18658: [0xffffb3f37000(0x3000) @ 0 00:26 931092 625769152]: r-xp /lib64/libpam_misc.so.0.82.1
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 18658/18658: [0xffffb3f58000(0x2c000) @ 0 00:26 122824 625769152]: r-xp /usr/lib64/libseccomp.so.2.3.1
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 18658/18658: [0xffffb3fa9000(0x8000) @ 0 00:26 123721 625769152]: r-xp /lib64/libacl.so.1.1.0
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 18658/18658: [0xffffb3fca000(0x13000) @ 0 00:26 123088 625769152]: r-xp /usr/lib64/libgpg-error.so.0.22.0
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 18658/18658: [0xffffb3ffb000(0x9e000) @ 0 00:26 653339 625769152]: r-xp /usr/lib64/libgcrypt.so.20.0.1
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 18658/18658: [0xffffb40af000(0x24000) @ 0 00:26 123031 625769152]: r-xp /usr/lib64/liblzma.so.5.2.2
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 18658/18658: [0xffffb40f0000(0x99000) @ 0 00:26 930997 625769152]: r-xp /lib64/libm-2.22.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 18658/18658: [0xffffb41a1000(0x6000) @ 0 00:26 931021 625769152]: r-xp /lib64/librt-2.22.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 18658/18658: [0xffffb41c2000(0x4000) @ 0 00:26 123263 625769152]: r-xp /lib64/libcap.so.2.22
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 18658/18658: [0xffffb41e3000(0x49000) @ 0 00:26 996107 625769152]: r-xp /lib64/security/pam_systemd.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 18658/18658: [0xffffb4244000(0x2000) @ 0 00:26 931133 625769152]: r-xp /lib64/security/pam_umask.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 18658/18658: [0xffffb4265000(0x4000) @ 0 00:26 931110 625769152]: r-xp /lib64/security/pam_limits.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 18658/18658: [0xffffb4286000(0x2000) @ 0 00:26 931113 625769152]: r-xp /lib64/security/pam_loginuid.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 18658/18658: [0xffffb42a7000(0x9000) @ 0 00:26 133221 625769152]: r-xp /usr/lib64/libcrack.so.2.9.0
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 18658/18658: [0xffffb42cc000(0x3000) @ 0 00:26 931096 625769152]: r-xp /lib64/security/pam_cracklib.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 18658/18658: [0xffffb42ed000(0xc000) @ 0 00:26 931273 625769152]: r-xp /lib64/security/pam_unix.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 18658/18658: [0xffffb431a000(0x3000) @ 0 00:26 931100 625769152]: r-xp /lib64/security/pam_env.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 18658/18658: [0xffffb434b000(0x2000) @ 0 00:26 931118 625769152]: r-xp /lib64/security/pam_nologin.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 18658/18658: [0xffffb437c000(0xb000) @ 0 00:26 931007 625769152]: r-xp /lib64/libnss_files-2.22.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 18658/18658: [0xffffb43a3000(0xa000) @ 0 00:26 931011 625769152]: r-xp /lib64/libnss_nis-2.22.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 18658/18658: [0xffffb43c4000(0x15000) @ 0 00:26 930999 625769152]: r-xp /lib64/libnsl-2.22.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 18658/18658: [0xffffb43f7000(0x7000) @ 0 00:26 931001 625769152]: r-xp /lib64/libnss_compat-2.22.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 18658/18658: [0xffffb441c000(0x18000) @ 0 00:26 931017 625769152]: r-xp /lib64/libpthread-2.22.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 18658/18658: [0xffffb4451000(0x13000) @ 0 00:26 931019 625769152]: r-xp /lib64/libresolv-2.22.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 18658/18658: [0xffffb4484000(0x3000) @ 0 00:26 123051 625769152]: r-xp /lib64/libkeyutils.so.1.5
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 18658/18658: [0xffffb44a6000(0xd000) @ 0 00:26 653324 625769152]: r-xp /usr/lib64/libkrb5support.so.0.1
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 18658/18658: [0xffffb44c7000(0x2e000) @ 0 00:26 653312 625769152]: r-xp /usr/lib64/libk5crypto.so.3.1
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 18658/18658: [0xffffb4509000(0x3b000) @ 0 00:26 587843 625769152]: r-xp /usr/lib64/libpcre.so.1.2.7
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 18658/18658: [0xffffb455b000(0x3000) @ 0 00:26 930995 625769152]: r-xp /lib64/libdl-2.22.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 18658/18658: [0xffffb457c000(0x149000) @ 0 00:26 930989 625769152]: r-xp /lib64/libc-2.22.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 18658/18658: [0xffffb46e2000(0x3000) @ 0 00:26 123247 625769152]: r-xp /usr/lib64/libcom_err.so.2.1
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 18658/18658: [0xffffb4704000(0xc0000) @ 0 00:26 653322 625769152]: r-xp /usr/lib64/libkrb5.so.3.3
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 18658/18658: [0xffffb47e7000(0x43000) @ 0 00:26 653308 625769152]: r-xp /usr/lib64/libgssapi_krb5.so.2.2
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 18658/18658: [0xffffb4849000(0xb000) @ 0 00:26 930993 625769152]: r-xp /lib64/libcrypt-2.22.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 18658/18658: [0xffffb4898000(0x14000) @ 0 00:26 122708 625769152]: r-xp /lib64/libz.so.1.2.8
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 18658/18658: [0xffffb48c9000(0x2000) @ 0 00:26 931025 625769152]: r-xp /lib64/libutil-2.22.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 18658/18658: [0xffffb48ea000(0x1b6000) @ 0 00:26 931332 625769152]: r-xp /lib64/libcrypto.so.1.0.0
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 18658/18658: [0xffffb4adb000(0x24000) @ 0 00:26 123567 625769152]: r-xp /lib64/libselinux.so.1
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 18658/18658: [0xffffb4b1e000(0xe000) @ 0 00:26 931090 625769152]: r-xp /lib64/libpam.so.0.84.2
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 18658/18658: [0xffffb4b3f000(0x17000) @ 0 00:26 587830 625769152]: r-xp /usr/lib64/libaudit.so.1.0.0
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 18658/18658: [0xffffb4b7a000(0x1e000) @ 0 00:26 930982 625769152]: r-xp /lib64/ld-2.22.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 18658/18658: [0xffffb4ba8000(0x1000) @ 0 00:00 0 625769152]: r-xp [vdso]
            bash     0 [000]     0.000000: PERF_RECORD_MMAP2 18659/18659: [0x400000(0xaf000) @ 0 00:26 129038 625769152]: r-xp /bin/bash
            bash     0 [000]     0.000000: PERF_RECORD_MMAP2 18659/18659: [0xffff93662000(0xb000) @ 0 00:26 931007 625769152]: r-xp /lib64/libnss_files-2.22.so
            bash     0 [000]     0.000000: PERF_RECORD_MMAP2 18659/18659: [0xffff93689000(0xa000) @ 0 00:26 931011 625769152]: r-xp /lib64/libnss_nis-2.22.so
            bash     0 [000]     0.000000: PERF_RECORD_MMAP2 18659/18659: [0xffff936aa000(0x15000) @ 0 00:26 930999 625769152]: r-xp /lib64/libnsl-2.22.so
            bash     0 [000]     0.000000: PERF_RECORD_MMAP2 18659/18659: [0xffff936dd000(0x7000) @ 0 00:26 931001 625769152]: r-xp /lib64/libnss_compat-2.22.so
            bash     0 [000]     0.000000: PERF_RECORD_MMAP2 18659/18659: [0xffff93883000(0x149000) @ 0 00:26 930989 625769152]: r-xp /lib64/libc-2.22.so
            bash     0 [000]     0.000000: PERF_RECORD_MMAP2 18659/18659: [0xffff939e9000(0x3000) @ 0 00:26 930995 625769152]: r-xp /lib64/libdl-2.22.so
            bash     0 [000]     0.000000: PERF_RECORD_MMAP2 18659/18659: [0xffff93a0a000(0x2c000) @ 0 00:26 996745 625769152]: r-xp /lib64/libtinfo.so.5.9
            bash     0 [000]     0.000000: PERF_RECORD_MMAP2 18659/18659: [0xffff93a50000(0x44000) @ 0 00:26 128536 625769152]: r-xp /lib64/libreadline.so.6.3
            bash     0 [000]     0.000000: PERF_RECORD_MMAP2 18659/18659: [0xffff93ab8000(0x1e000) @ 0 00:26 930982 625769152]: r-xp /lib64/ld-2.22.so
            bash     0 [000]     0.000000: PERF_RECORD_MMAP2 18659/18659: [0xffff93ae6000(0x1000) @ 0 00:00 0 625769152]: r-xp [vdso]
            sudo     0 [000]     0.000000: PERF_RECORD_MMAP2 18783/18783: [0xaaaacebe2000(0x21000) @ 0 00:26 148746 625769152]: r-xp /usr/bin/sudo
            sudo     0 [000]     0.000000: PERF_RECORD_MMAP2 18783/18783: [0xffff9c085000(0x1000) @ 0 00:26 931098 625769152]: r-xp /lib64/security/pam_deny.so
            sudo     0 [000]     0.000000: PERF_RECORD_MMAP2 18783/18783: [0xffff9c0a6000(0x1000) @ 0 00:26 931134 625769152]: r-xp /lib64/security/pam_warn.so
            sudo     0 [000]     0.000000: PERF_RECORD_MMAP2 18783/18783: [0xffff9c0c7000(0x5000) @ 0 00:26 123300 625769152]: r-xp /lib64/libattr.so.1.1.0
            sudo     0 [000]     0.000000: PERF_RECORD_MMAP2 18783/18783: [0xffff9c0e8000(0x18000) @ 0 00:26 931017 625769152]: r-xp /lib64/libpthread-2.22.so
            sudo     0 [000]     0.000000: PERF_RECORD_MMAP2 18783/18783: [0xffff9c11d000(0x3000) @ 0 00:26 931092 625769152]: r-xp /lib64/libpam_misc.so.0.82.1
            sudo     0 [000]     0.000000: PERF_RECORD_MMAP2 18783/18783: [0xffff9c13e000(0x2c000) @ 0 00:26 122824 625769152]: r-xp /usr/lib64/libseccomp.so.2.3.1
            sudo     0 [000]     0.000000: PERF_RECORD_MMAP2 18783/18783: [0xffff9c18f000(0x8000) @ 0 00:26 123721 625769152]: r-xp /lib64/libacl.so.1.1.0
            sudo     0 [000]     0.000000: PERF_RECORD_MMAP2 18783/18783: [0xffff9c1b0000(0x13000) @ 0 00:26 123088 625769152]: r-xp /usr/lib64/libgpg-error.so.0.22.0
            sudo     0 [000]     0.000000: PERF_RECORD_MMAP2 18783/18783: [0xffff9c1e1000(0x9e000) @ 0 00:26 653339 625769152]: r-xp /usr/lib64/libgcrypt.so.20.0.1
            sudo     0 [000]     0.000000: PERF_RECORD_MMAP2 18783/18783: [0xffff9c295000(0x24000) @ 0 00:26 123031 625769152]: r-xp /usr/lib64/liblzma.so.5.2.2
            sudo     0 [000]     0.000000: PERF_RECORD_MMAP2 18783/18783: [0xffff9c2d6000(0x99000) @ 0 00:26 930997 625769152]: r-xp /lib64/libm-2.22.so
            sudo     0 [000]     0.000000: PERF_RECORD_MMAP2 18783/18783: [0xffff9c387000(0x6000) @ 0 00:26 931021 625769152]: r-xp /lib64/librt-2.22.so
            sudo     0 [000]     0.000000: PERF_RECORD_MMAP2 18783/18783: [0xffff9c3a8000(0x4000) @ 0 00:26 123263 625769152]: r-xp /lib64/libcap.so.2.22
            sudo     0 [000]     0.000000: PERF_RECORD_MMAP2 18783/18783: [0xffff9c3c9000(0x49000) @ 0 00:26 996107 625769152]: r-xp /lib64/security/pam_systemd.so
            sudo     0 [000]     0.000000: PERF_RECORD_MMAP2 18783/18783: [0xffff9c42a000(0x2000) @ 0 00:26 931133 625769152]: r-xp /lib64/security/pam_umask.so
            sudo     0 [000]     0.000000: PERF_RECORD_MMAP2 18783/18783: [0xffff9c44b000(0x4000) @ 0 00:26 931110 625769152]: r-xp /lib64/security/pam_limits.so
            sudo     0 [000]     0.000000: PERF_RECORD_MMAP2 18783/18783: [0xffff9c46c000(0x9000) @ 0 00:26 133221 625769152]: r-xp /usr/lib64/libcrack.so.2.9.0
            sudo     0 [000]     0.000000: PERF_RECORD_MMAP2 18783/18783: [0xffff9c491000(0x3000) @ 0 00:26 931096 625769152]: r-xp /lib64/security/pam_cracklib.so
            sudo     0 [000]     0.000000: PERF_RECORD_MMAP2 18783/18783: [0xffff9c4b2000(0xb000) @ 0 00:26 930993 625769152]: r-xp /lib64/libcrypt-2.22.so
            sudo     0 [000]     0.000000: PERF_RECORD_MMAP2 18783/18783: [0xffff9c501000(0xc000) @ 0 00:26 931273 625769152]: r-xp /lib64/security/pam_unix.so
            sudo     0 [000]     0.000000: PERF_RECORD_MMAP2 18783/18783: [0xffff9c52e000(0x3000) @ 0 00:26 931100 625769152]: r-xp /lib64/security/pam_env.so
            sudo     0 [000]     0.000000: PERF_RECORD_MMAP2 18783/18783: [0xffff9c57f000(0x1b6000) @ 0 00:26 931332 625769152]: r-xp /lib64/libcrypto.so.1.0.0
            sudo     0 [000]     0.000000: PERF_RECORD_MMAP2 18783/18783: [0xffff9c770000(0x5a000) @ 0 00:26 931333 625769152]: r-xp /lib64/libssl.so.1.0.0
            sudo     0 [000]     0.000000: PERF_RECORD_MMAP2 18783/18783: [0xffff9c7e7000(0x1b000) @ 0 00:26 127929 625769152]: r-xp /usr/lib64/libsasl2.so.3.0.0
            sudo     0 [000]     0.000000: PERF_RECORD_MMAP2 18783/18783: [0xffff9c818000(0x13000) @ 0 00:26 931019 625769152]: r-xp /lib64/libresolv-2.22.so
            sudo     0 [000]     0.000000: PERF_RECORD_MMAP2 18783/18783: [0xffff9c84b000(0x14000) @ 0 00:26 122708 625769152]: r-xp /lib64/libz.so.1.2.8
            sudo     0 [000]     0.000000: PERF_RECORD_MMAP2 18783/18783: [0xffff9c87c000(0xe000) @ 0 00:26 128217 625769152]: r-xp /usr/lib64/liblber-2.4.so.2.10.7
            sudo     0 [000]     0.000000: PERF_RECORD_MMAP2 18783/18783: [0xffff9c89d000(0x49000) @ 0 00:26 128219 625769152]: r-xp /usr/lib64/libldap-2.4.so.2.10.7
            sudo     0 [000]     0.000000: PERF_RECORD_MMAP2 18783/18783: [0xffff9c8ff000(0xe000) @ 0 00:26 931090 625769152]: r-xp /lib64/libpam.so.0.84.2
            sudo     0 [000]     0.000000: PERF_RECORD_MMAP2 18783/18783: [0xffff9c920000(0x5e000) @ 0 00:26 148754 625769152]: r-xp /usr/lib/sudo/sudoers.so
            sudo     0 [000]     0.000000: PERF_RECORD_MMAP2 18783/18783: [0xffff9c994000(0xb000) @ 0 00:26 931007 625769152]: r-xp /lib64/libnss_files-2.22.so
            sudo     0 [000]     0.000000: PERF_RECORD_MMAP2 18783/18783: [0xffff9c9bb000(0xa000) @ 0 00:26 931011 625769152]: r-xp /lib64/libnss_nis-2.22.so
            sudo     0 [000]     0.000000: PERF_RECORD_MMAP2 18783/18783: [0xffff9c9dc000(0x15000) @ 0 00:26 930999 625769152]: r-xp /lib64/libnsl-2.22.so
            sudo     0 [000]     0.000000: PERF_RECORD_MMAP2 18783/18783: [0xffff9ca0f000(0x7000) @ 0 00:26 931001 625769152]: r-xp /lib64/libnss_compat-2.22.so
            sudo     0 [000]     0.000000: PERF_RECORD_MMAP2 18783/18783: [0xffff9cbb7000(0x3000) @ 0 00:26 930995 625769152]: r-xp /lib64/libdl-2.22.so
            sudo     0 [000]     0.000000: PERF_RECORD_MMAP2 18783/18783: [0xffff9cbd8000(0x3b000) @ 0 00:26 587843 625769152]: r-xp /usr/lib64/libpcre.so.1.2.7
            sudo     0 [000]     0.000000: PERF_RECORD_MMAP2 18783/18783: [0xffff9cc29000(0x149000) @ 0 00:26 930989 625769152]: r-xp /lib64/libc-2.22.so
            sudo     0 [000]     0.000000: PERF_RECORD_MMAP2 18783/18783: [0xffff9cd8f000(0x13000) @ 0 00:26 148751 625769152]: r-xp /usr/lib/sudo/libsudo_util.so.0.0.0
            sudo     0 [000]     0.000000: PERF_RECORD_MMAP2 18783/18783: [0xffff9cdc0000(0x2000) @ 0 00:26 931025 625769152]: r-xp /lib64/libutil-2.22.so
            sudo     0 [000]     0.000000: PERF_RECORD_MMAP2 18783/18783: [0xffff9cde1000(0x24000) @ 0 00:26 123567 625769152]: r-xp /lib64/libselinux.so.1
            sudo     0 [000]     0.000000: PERF_RECORD_MMAP2 18783/18783: [0xffff9ce24000(0x17000) @ 0 00:26 587830 625769152]: r-xp /usr/lib64/libaudit.so.1.0.0
            sudo     0 [000]     0.000000: PERF_RECORD_MMAP2 18783/18783: [0xffff9ce5f000(0x1e000) @ 0 00:26 930982 625769152]: r-xp /lib64/ld-2.22.so
            sudo     0 [000]     0.000000: PERF_RECORD_MMAP2 18783/18783: [0xffff9ce8d000(0x1000) @ 0 00:00 0 625769152]: r-xp [vdso]
              su     0 [000]     0.000000: PERF_RECORD_MMAP2 18784/18784: [0xaaaac90ce000(0x7000) @ 0 00:26 960767 625769152]: r-xp /usr/bin/su
              su     0 [000]     0.000000: PERF_RECORD_MMAP2 18784/18784: [0xffff85485000(0x1000) @ 0 00:26 931098 625769152]: r-xp /lib64/security/pam_deny.so
              su     0 [000]     0.000000: PERF_RECORD_MMAP2 18784/18784: [0xffff854a6000(0x1000) @ 0 00:26 931134 625769152]: r-xp /lib64/security/pam_warn.so
              su     0 [000]     0.000000: PERF_RECORD_MMAP2 18784/18784: [0xffff854c7000(0x4000) @ 0 00:26 931136 625769152]: r-xp /lib64/security/pam_xauth.so
              su     0 [000]     0.000000: PERF_RECORD_MMAP2 18784/18784: [0xffff854e8000(0x5000) @ 0 00:26 123300 625769152]: r-xp /lib64/libattr.so.1.1.0
              su     0 [000]     0.000000: PERF_RECORD_MMAP2 18784/18784: [0xffff85509000(0x18000) @ 0 00:26 931017 625769152]: r-xp /lib64/libpthread-2.22.so
              su     0 [000]     0.000000: PERF_RECORD_MMAP2 18784/18784: [0xffff8553e000(0x2c000) @ 0 00:26 122824 625769152]: r-xp /usr/lib64/libseccomp.so.2.3.1
              su     0 [000]     0.000000: PERF_RECORD_MMAP2 18784/18784: [0xffff8558f000(0x8000) @ 0 00:26 123721 625769152]: r-xp /lib64/libacl.so.1.1.0
              su     0 [000]     0.000000: PERF_RECORD_MMAP2 18784/18784: [0xffff855b0000(0x13000) @ 0 00:26 123088 625769152]: r-xp /usr/lib64/libgpg-error.so.0.22.0
              su     0 [000]     0.000000: PERF_RECORD_MMAP2 18784/18784: [0xffff855e1000(0x9e000) @ 0 00:26 653339 625769152]: r-xp /usr/lib64/libgcrypt.so.20.0.1
              su     0 [000]     0.000000: PERF_RECORD_MMAP2 18784/18784: [0xffff85695000(0x24000) @ 0 00:26 123031 625769152]: r-xp /usr/lib64/liblzma.so.5.2.2
              su     0 [000]     0.000000: PERF_RECORD_MMAP2 18784/18784: [0xffff856d6000(0x13000) @ 0 00:26 931019 625769152]: r-xp /lib64/libresolv-2.22.so
              su     0 [000]     0.000000: PERF_RECORD_MMAP2 18784/18784: [0xffff85709000(0x99000) @ 0 00:26 930997 625769152]: r-xp /lib64/libm-2.22.so
              su     0 [000]     0.000000: PERF_RECORD_MMAP2 18784/18784: [0xffff857ba000(0x6000) @ 0 00:26 931021 625769152]: r-xp /lib64/librt-2.22.so
              su     0 [000]     0.000000: PERF_RECORD_MMAP2 18784/18784: [0xffff857db000(0x4000) @ 0 00:26 123263 625769152]: r-xp /lib64/libcap.so.2.22
              su     0 [000]     0.000000: PERF_RECORD_MMAP2 18784/18784: [0xffff857fc000(0x49000) @ 0 00:26 996107 625769152]: r-xp /lib64/security/pam_systemd.so
              su     0 [000]     0.000000: PERF_RECORD_MMAP2 18784/18784: [0xffff8585d000(0x2000) @ 0 00:26 931133 625769152]: r-xp /lib64/security/pam_umask.so
              su     0 [000]     0.000000: PERF_RECORD_MMAP2 18784/18784: [0xffff8587e000(0x4000) @ 0 00:26 931110 625769152]: r-xp /lib64/security/pam_limits.so
              su     0 [000]     0.000000: PERF_RECORD_MMAP2 18784/18784: [0xffff8589f000(0x14000) @ 0 00:26 122708 625769152]: r-xp /lib64/libz.so.1.2.8
              su     0 [000]     0.000000: PERF_RECORD_MMAP2 18784/18784: [0xffff858d0000(0x9000) @ 0 00:26 133221 625769152]: r-xp /usr/lib64/libcrack.so.2.9.0
              su     0 [000]     0.000000: PERF_RECORD_MMAP2 18784/18784: [0xffff858f5000(0x3000) @ 0 00:26 931096 625769152]: r-xp /lib64/security/pam_cracklib.so
              su     0 [000]     0.000000: PERF_RECORD_MMAP2 18784/18784: [0xffff85916000(0xb000) @ 0 00:26 930993 625769152]: r-xp /lib64/libcrypt-2.22.so
              su     0 [000]     0.000000: PERF_RECORD_MMAP2 18784/18784: [0xffff85965000(0xc000) @ 0 00:26 931273 625769152]: r-xp /lib64/security/pam_unix.so
              su     0 [000]     0.000000: PERF_RECORD_MMAP2 18784/18784: [0xffff85992000(0x3000) @ 0 00:26 931100 625769152]: r-xp /lib64/security/pam_env.so
              su     0 [000]     0.000000: PERF_RECORD_MMAP2 18784/18784: [0xffff859c3000(0x3b000) @ 0 00:26 587843 625769152]: r-xp /usr/lib64/libpcre.so.1.2.7
              su     0 [000]     0.000000: PERF_RECORD_MMAP2 18784/18784: [0xffff85a14000(0x24000) @ 0 00:26 123567 625769152]: r-xp /lib64/libselinux.so.1
              su     0 [000]     0.000000: PERF_RECORD_MMAP2 18784/18784: [0xffff85a57000(0x2000) @ 0 00:26 931122 625769152]: r-xp /lib64/security/pam_rootok.so
              su     0 [000]     0.000000: PERF_RECORD_MMAP2 18784/18784: [0xffff85a88000(0xb000) @ 0 00:26 931007 625769152]: r-xp /lib64/libnss_files-2.22.so
              su     0 [000]     0.000000: PERF_RECORD_MMAP2 18784/18784: [0xffff85aaf000(0xa000) @ 0 00:26 931011 625769152]: r-xp /lib64/libnss_nis-2.22.so
              su     0 [000]     0.000000: PERF_RECORD_MMAP2 18784/18784: [0xffff85ad0000(0x15000) @ 0 00:26 930999 625769152]: r-xp /lib64/libnsl-2.22.so
              su     0 [000]     0.000000: PERF_RECORD_MMAP2 18784/18784: [0xffff85b03000(0x7000) @ 0 00:26 931001 625769152]: r-xp /lib64/libnss_compat-2.22.so
              su     0 [000]     0.000000: PERF_RECORD_MMAP2 18784/18784: [0xffff85caa000(0x3000) @ 0 00:26 930995 625769152]: r-xp /lib64/libdl-2.22.so
              su     0 [000]     0.000000: PERF_RECORD_MMAP2 18784/18784: [0xffff85ccb000(0x17000) @ 0 00:26 587830 625769152]: r-xp /usr/lib64/libaudit.so.1.0.0
              su     0 [000]     0.000000: PERF_RECORD_MMAP2 18784/18784: [0xffff85d06000(0x149000) @ 0 00:26 930989 625769152]: r-xp /lib64/libc-2.22.so
              su     0 [000]     0.000000: PERF_RECORD_MMAP2 18784/18784: [0xffff85e6c000(0x3000) @ 0 00:26 931092 625769152]: r-xp /lib64/libpam_misc.so.0.82.1
              su     0 [000]     0.000000: PERF_RECORD_MMAP2 18784/18784: [0xffff85e8d000(0xe000) @ 0 00:26 931090 625769152]: r-xp /lib64/libpam.so.0.84.2
              su     0 [000]     0.000000: PERF_RECORD_MMAP2 18784/18784: [0xffff85eae000(0x1e000) @ 0 00:26 930982 625769152]: r-xp /lib64/ld-2.22.so
              su     0 [000]     0.000000: PERF_RECORD_MMAP2 18784/18784: [0xffff85edc000(0x1000) @ 0 00:00 0 625769152]: r-xp [vdso]
            bash     0 [000]     0.000000: PERF_RECORD_MMAP2 18785/18785: [0x400000(0xaf000) @ 0 00:26 129038 625769152]: r-xp /bin/bash
            bash     0 [000]     0.000000: PERF_RECORD_MMAP2 18785/18785: [0xffffb77f1000(0xb000) @ 0 00:26 931007 625769152]: r-xp /lib64/libnss_files-2.22.so
            bash     0 [000]     0.000000: PERF_RECORD_MMAP2 18785/18785: [0xffffb7818000(0xa000) @ 0 00:26 931011 625769152]: r-xp /lib64/libnss_nis-2.22.so
            bash     0 [000]     0.000000: PERF_RECORD_MMAP2 18785/18785: [0xffffb7839000(0x15000) @ 0 00:26 930999 625769152]: r-xp /lib64/libnsl-2.22.so
            bash     0 [000]     0.000000: PERF_RECORD_MMAP2 18785/18785: [0xffffb786c000(0x7000) @ 0 00:26 931001 625769152]: r-xp /lib64/libnss_compat-2.22.so
            bash     0 [000]     0.000000: PERF_RECORD_MMAP2 18785/18785: [0xffffb788d000(0x149000) @ 0 00:26 930989 625769152]: r-xp /lib64/libc-2.22.so
            bash     0 [000]     0.000000: PERF_RECORD_MMAP2 18785/18785: [0xffffb79f3000(0x3000) @ 0 00:26 930995 625769152]: r-xp /lib64/libdl-2.22.so
            bash     0 [000]     0.000000: PERF_RECORD_MMAP2 18785/18785: [0xffffb7a14000(0x2c000) @ 0 00:26 996745 625769152]: r-xp /lib64/libtinfo.so.5.9
            bash     0 [000]     0.000000: PERF_RECORD_MMAP2 18785/18785: [0xffffb7a5a000(0x44000) @ 0 00:26 128536 625769152]: r-xp /lib64/libreadline.so.6.3
            bash     0 [000]     0.000000: PERF_RECORD_MMAP2 18785/18785: [0xffffb7ac2000(0x1e000) @ 0 00:26 930982 625769152]: r-xp /lib64/ld-2.22.so
            bash     0 [000]     0.000000: PERF_RECORD_MMAP2 18785/18785: [0xffffb7af0000(0x1000) @ 0 00:00 0 625769152]: r-xp [vdso]
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 18953/18953: [0xaaaad6745000(0xd6000) @ 0 00:26 961857 625769152]: r-xp /usr/sbin/sshd
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 18953/18953: [0xffff9ba67000(0xb000) @ 0 00:26 931007 625769152]: r-xp /lib64/libnss_files-2.22.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 18953/18953: [0xffff9ba8e000(0xa000) @ 0 00:26 931011 625769152]: r-xp /lib64/libnss_nis-2.22.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 18953/18953: [0xffff9baaf000(0x15000) @ 0 00:26 930999 625769152]: r-xp /lib64/libnsl-2.22.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 18953/18953: [0xffff9bae2000(0x7000) @ 0 00:26 931001 625769152]: r-xp /lib64/libnss_compat-2.22.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 18953/18953: [0xffff9bb07000(0x18000) @ 0 00:26 931017 625769152]: r-xp /lib64/libpthread-2.22.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 18953/18953: [0xffff9bb3c000(0x13000) @ 0 00:26 931019 625769152]: r-xp /lib64/libresolv-2.22.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 18953/18953: [0xffff9bb6f000(0x3000) @ 0 00:26 123051 625769152]: r-xp /lib64/libkeyutils.so.1.5
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 18953/18953: [0xffff9bb91000(0xd000) @ 0 00:26 653324 625769152]: r-xp /usr/lib64/libkrb5support.so.0.1
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 18953/18953: [0xffff9bbb2000(0x2e000) @ 0 00:26 653312 625769152]: r-xp /usr/lib64/libk5crypto.so.3.1
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 18953/18953: [0xffff9bbf4000(0x3b000) @ 0 00:26 587843 625769152]: r-xp /usr/lib64/libpcre.so.1.2.7
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 18953/18953: [0xffff9bc46000(0x3000) @ 0 00:26 930995 625769152]: r-xp /lib64/libdl-2.22.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 18953/18953: [0xffff9bc67000(0x149000) @ 0 00:26 930989 625769152]: r-xp /lib64/libc-2.22.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 18953/18953: [0xffff9bdcd000(0x3000) @ 0 00:26 123247 625769152]: r-xp /usr/lib64/libcom_err.so.2.1
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 18953/18953: [0xffff9bdef000(0xc0000) @ 0 00:26 653322 625769152]: r-xp /usr/lib64/libkrb5.so.3.3
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 18953/18953: [0xffff9bed2000(0x43000) @ 0 00:26 653308 625769152]: r-xp /usr/lib64/libgssapi_krb5.so.2.2
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 18953/18953: [0xffff9bf34000(0xb000) @ 0 00:26 930993 625769152]: r-xp /lib64/libcrypt-2.22.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 18953/18953: [0xffff9bf83000(0x14000) @ 0 00:26 122708 625769152]: r-xp /lib64/libz.so.1.2.8
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 18953/18953: [0xffff9bfb4000(0x2000) @ 0 00:26 931025 625769152]: r-xp /lib64/libutil-2.22.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 18953/18953: [0xffff9bfd5000(0x1b6000) @ 0 00:26 931332 625769152]: r-xp /lib64/libcrypto.so.1.0.0
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 18953/18953: [0xffff9c1c6000(0x24000) @ 0 00:26 123567 625769152]: r-xp /lib64/libselinux.so.1
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 18953/18953: [0xffff9c209000(0xe000) @ 0 00:26 931090 625769152]: r-xp /lib64/libpam.so.0.84.2
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 18953/18953: [0xffff9c22a000(0x17000) @ 0 00:26 587830 625769152]: r-xp /usr/lib64/libaudit.so.1.0.0
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 18953/18953: [0xffff9c265000(0x1e000) @ 0 00:26 930982 625769152]: r-xp /lib64/ld-2.22.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 18953/18953: [0xffff9c293000(0x1000) @ 0 00:00 0 625769152]: r-xp [vdso]
            sudo     0 [000]     0.000000: PERF_RECORD_MMAP2 23581/23581: [0xaaaac8285000(0x21000) @ 0 00:26 148746 625769152]: r-xp /usr/bin/sudo
            sudo     0 [000]     0.000000: PERF_RECORD_MMAP2 23581/23581: [0xffffa0a25000(0x1000) @ 0 00:26 931098 625769152]: r-xp /lib64/security/pam_deny.so
            sudo     0 [000]     0.000000: PERF_RECORD_MMAP2 23581/23581: [0xffffa0a46000(0x1000) @ 0 00:26 931134 625769152]: r-xp /lib64/security/pam_warn.so
            sudo     0 [000]     0.000000: PERF_RECORD_MMAP2 23581/23581: [0xffffa0a67000(0x5000) @ 0 00:26 123300 625769152]: r-xp /lib64/libattr.so.1.1.0
            sudo     0 [000]     0.000000: PERF_RECORD_MMAP2 23581/23581: [0xffffa0a88000(0x18000) @ 0 00:26 931017 625769152]: r-xp /lib64/libpthread-2.22.so
            sudo     0 [000]     0.000000: PERF_RECORD_MMAP2 23581/23581: [0xffffa0abd000(0x3000) @ 0 00:26 931092 625769152]: r-xp /lib64/libpam_misc.so.0.82.1
            sudo     0 [000]     0.000000: PERF_RECORD_MMAP2 23581/23581: [0xffffa0ade000(0x2c000) @ 0 00:26 122824 625769152]: r-xp /usr/lib64/libseccomp.so.2.3.1
            sudo     0 [000]     0.000000: PERF_RECORD_MMAP2 23581/23581: [0xffffa0b2f000(0x8000) @ 0 00:26 123721 625769152]: r-xp /lib64/libacl.so.1.1.0
            sudo     0 [000]     0.000000: PERF_RECORD_MMAP2 23581/23581: [0xffffa0b50000(0x13000) @ 0 00:26 123088 625769152]: r-xp /usr/lib64/libgpg-error.so.0.22.0
            sudo     0 [000]     0.000000: PERF_RECORD_MMAP2 23581/23581: [0xffffa0b81000(0x9e000) @ 0 00:26 653339 625769152]: r-xp /usr/lib64/libgcrypt.so.20.0.1
            sudo     0 [000]     0.000000: PERF_RECORD_MMAP2 23581/23581: [0xffffa0c35000(0x24000) @ 0 00:26 123031 625769152]: r-xp /usr/lib64/liblzma.so.5.2.2
            sudo     0 [000]     0.000000: PERF_RECORD_MMAP2 23581/23581: [0xffffa0c76000(0x99000) @ 0 00:26 930997 625769152]: r-xp /lib64/libm-2.22.so
            sudo     0 [000]     0.000000: PERF_RECORD_MMAP2 23581/23581: [0xffffa0d27000(0x6000) @ 0 00:26 931021 625769152]: r-xp /lib64/librt-2.22.so
            sudo     0 [000]     0.000000: PERF_RECORD_MMAP2 23581/23581: [0xffffa0d48000(0x4000) @ 0 00:26 123263 625769152]: r-xp /lib64/libcap.so.2.22
            sudo     0 [000]     0.000000: PERF_RECORD_MMAP2 23581/23581: [0xffffa0d69000(0x49000) @ 0 00:26 996107 625769152]: r-xp /lib64/security/pam_systemd.so
            sudo     0 [000]     0.000000: PERF_RECORD_MMAP2 23581/23581: [0xffffa0dca000(0x2000) @ 0 00:26 931133 625769152]: r-xp /lib64/security/pam_umask.so
            sudo     0 [000]     0.000000: PERF_RECORD_MMAP2 23581/23581: [0xffffa0deb000(0x4000) @ 0 00:26 931110 625769152]: r-xp /lib64/security/pam_limits.so
            sudo     0 [000]     0.000000: PERF_RECORD_MMAP2 23581/23581: [0xffffa0e0c000(0x9000) @ 0 00:26 133221 625769152]: r-xp /usr/lib64/libcrack.so.2.9.0
            sudo     0 [000]     0.000000: PERF_RECORD_MMAP2 23581/23581: [0xffffa0e31000(0x3000) @ 0 00:26 931096 625769152]: r-xp /lib64/security/pam_cracklib.so
            sudo     0 [000]     0.000000: PERF_RECORD_MMAP2 23581/23581: [0xffffa0e52000(0xb000) @ 0 00:26 930993 625769152]: r-xp /lib64/libcrypt-2.22.so
            sudo     0 [000]     0.000000: PERF_RECORD_MMAP2 23581/23581: [0xffffa0ea1000(0xc000) @ 0 00:26 931273 625769152]: r-xp /lib64/security/pam_unix.so
            sudo     0 [000]     0.000000: PERF_RECORD_MMAP2 23581/23581: [0xffffa0ece000(0x3000) @ 0 00:26 931100 625769152]: r-xp /lib64/security/pam_env.so
            sudo     0 [000]     0.000000: PERF_RECORD_MMAP2 23581/23581: [0xffffa0f1f000(0x1b6000) @ 0 00:26 931332 625769152]: r-xp /lib64/libcrypto.so.1.0.0
            sudo     0 [000]     0.000000: PERF_RECORD_MMAP2 23581/23581: [0xffffa1110000(0x5a000) @ 0 00:26 931333 625769152]: r-xp /lib64/libssl.so.1.0.0
            sudo     0 [000]     0.000000: PERF_RECORD_MMAP2 23581/23581: [0xffffa1187000(0x1b000) @ 0 00:26 127929 625769152]: r-xp /usr/lib64/libsasl2.so.3.0.0
            sudo     0 [000]     0.000000: PERF_RECORD_MMAP2 23581/23581: [0xffffa11b8000(0x13000) @ 0 00:26 931019 625769152]: r-xp /lib64/libresolv-2.22.so
            sudo     0 [000]     0.000000: PERF_RECORD_MMAP2 23581/23581: [0xffffa11eb000(0x14000) @ 0 00:26 122708 625769152]: r-xp /lib64/libz.so.1.2.8
            sudo     0 [000]     0.000000: PERF_RECORD_MMAP2 23581/23581: [0xffffa121c000(0xe000) @ 0 00:26 128217 625769152]: r-xp /usr/lib64/liblber-2.4.so.2.10.7
            sudo     0 [000]     0.000000: PERF_RECORD_MMAP2 23581/23581: [0xffffa123d000(0x49000) @ 0 00:26 128219 625769152]: r-xp /usr/lib64/libldap-2.4.so.2.10.7
            sudo     0 [000]     0.000000: PERF_RECORD_MMAP2 23581/23581: [0xffffa129f000(0xe000) @ 0 00:26 931090 625769152]: r-xp /lib64/libpam.so.0.84.2
            sudo     0 [000]     0.000000: PERF_RECORD_MMAP2 23581/23581: [0xffffa12c0000(0x5e000) @ 0 00:26 148754 625769152]: r-xp /usr/lib/sudo/sudoers.so
            sudo     0 [000]     0.000000: PERF_RECORD_MMAP2 23581/23581: [0xffffa1334000(0xb000) @ 0 00:26 931007 625769152]: r-xp /lib64/libnss_files-2.22.so
            sudo     0 [000]     0.000000: PERF_RECORD_MMAP2 23581/23581: [0xffffa135b000(0xa000) @ 0 00:26 931011 625769152]: r-xp /lib64/libnss_nis-2.22.so
            sudo     0 [000]     0.000000: PERF_RECORD_MMAP2 23581/23581: [0xffffa137c000(0x15000) @ 0 00:26 930999 625769152]: r-xp /lib64/libnsl-2.22.so
            sudo     0 [000]     0.000000: PERF_RECORD_MMAP2 23581/23581: [0xffffa13af000(0x7000) @ 0 00:26 931001 625769152]: r-xp /lib64/libnss_compat-2.22.so
            sudo     0 [000]     0.000000: PERF_RECORD_MMAP2 23581/23581: [0xffffa1557000(0x3000) @ 0 00:26 930995 625769152]: r-xp /lib64/libdl-2.22.so
            sudo     0 [000]     0.000000: PERF_RECORD_MMAP2 23581/23581: [0xffffa1578000(0x3b000) @ 0 00:26 587843 625769152]: r-xp /usr/lib64/libpcre.so.1.2.7
            sudo     0 [000]     0.000000: PERF_RECORD_MMAP2 23581/23581: [0xffffa15c9000(0x149000) @ 0 00:26 930989 625769152]: r-xp /lib64/libc-2.22.so
            sudo     0 [000]     0.000000: PERF_RECORD_MMAP2 23581/23581: [0xffffa172f000(0x13000) @ 0 00:26 148751 625769152]: r-xp /usr/lib/sudo/libsudo_util.so.0.0.0
            sudo     0 [000]     0.000000: PERF_RECORD_MMAP2 23581/23581: [0xffffa1760000(0x2000) @ 0 00:26 931025 625769152]: r-xp /lib64/libutil-2.22.so
            sudo     0 [000]     0.000000: PERF_RECORD_MMAP2 23581/23581: [0xffffa1781000(0x24000) @ 0 00:26 123567 625769152]: r-xp /lib64/libselinux.so.1
            sudo     0 [000]     0.000000: PERF_RECORD_MMAP2 23581/23581: [0xffffa17c4000(0x17000) @ 0 00:26 587830 625769152]: r-xp /usr/lib64/libaudit.so.1.0.0
            sudo     0 [000]     0.000000: PERF_RECORD_MMAP2 23581/23581: [0xffffa17ff000(0x1e000) @ 0 00:26 930982 625769152]: r-xp /lib64/ld-2.22.so
            sudo     0 [000]     0.000000: PERF_RECORD_MMAP2 23581/23581: [0xffffa182d000(0x1000) @ 0 00:00 0 625769152]: r-xp [vdso]
       perf.good     0 [000]     0.000000: PERF_RECORD_MMAP2 23582/23582: [0x400000(0x50a000) @ 0 00:26 1220014 625769152]: r-xp /home/kim/git/linux-perf-acme-urgent/tools/perf/perf.good
       perf.good     0 [000]     0.000000: PERF_RECORD_MMAP2 23582/23582: [0xffff93105000(0xf000) @ 0 00:26 123277 625769152]: r-xp /usr/lib64/libbz2.so.1.0.6
       perf.good     0 [000]     0.000000: PERF_RECORD_MMAP2 23582/23582: [0xffff93127000(0x149000) @ 0 00:26 930989 625769152]: r-xp /lib64/libc-2.22.so
       perf.good     0 [000]     0.000000: PERF_RECORD_MMAP2 23582/23582: [0xffff9328d000(0xb000) @ 0 00:26 122960 625769152]: r-xp /usr/lib64/libnuma.so.1
       perf.good     0 [000]     0.000000: PERF_RECORD_MMAP2 23582/23582: [0xffff932b3000(0x24000) @ 0 00:26 123031 625769152]: r-xp /usr/lib64/liblzma.so.5.2.2
       perf.good     0 [000]     0.000000: PERF_RECORD_MMAP2 23582/23582: [0xffff932f4000(0x14000) @ 0 00:26 122708 625769152]: r-xp /lib64/libz.so.1.2.8
       perf.good     0 [000]     0.000000: PERF_RECORD_MMAP2 23582/23582: [0xffff93325000(0xb000) @ 0 00:26 930993 625769152]: r-xp /lib64/libcrypt-2.22.so
       perf.good     0 [000]     0.000000: PERF_RECORD_MMAP2 23582/23582: [0xffff93375000(0x176000) @ 0 00:26 654556 625769152]: r-xp /usr/lib/perl5/5.18.2/aarch64-linux-thread-multi/CORE/libperl.so
       perf.good     0 [000]     0.000000: PERF_RECORD_MMAP2 23582/23582: [0xffff9350b000(0xf7000) @ 0 00:26 432344 625769152]: r-xp /usr/lib64/libslang.so.2.2.4
       perf.good     0 [000]     0.000000: PERF_RECORD_MMAP2 23582/23582: [0xffff93698000(0x1b6000) @ 0 00:26 931332 625769152]: r-xp /lib64/libcrypto.so.1.0.0
       perf.good     0 [000]     0.000000: PERF_RECORD_MMAP2 23582/23582: [0xffff9388a000(0x17000) @ 0 00:26 587830 625769152]: r-xp /usr/lib64/libaudit.so.1.0.0
       perf.good     0 [000]     0.000000: PERF_RECORD_MMAP2 23582/23582: [0xffff938c5000(0x3d000) @ 0 00:26 123704 625769152]: r-xp /usr/lib64/libdw-0.158.so
       perf.good     0 [000]     0.000000: PERF_RECORD_MMAP2 23582/23582: [0xffff93916000(0x15000) @ 0 00:26 123195 625769152]: r-xp /usr/lib64/libelf-0.158.so
       perf.good     0 [000]     0.000000: PERF_RECORD_MMAP2 23582/23582: [0xffff93947000(0x3000) @ 0 00:26 930995 625769152]: r-xp /lib64/libdl-2.22.so
       perf.good     0 [000]     0.000000: PERF_RECORD_MMAP2 23582/23582: [0xffff93968000(0x99000) @ 0 00:26 930997 625769152]: r-xp /lib64/libm-2.22.so
       perf.good     0 [000]     0.000000: PERF_RECORD_MMAP2 23582/23582: [0xffff93a19000(0x6000) @ 0 00:26 931021 625769152]: r-xp /lib64/librt-2.22.so
       perf.good     0 [000]     0.000000: PERF_RECORD_MMAP2 23582/23582: [0xffff93a3a000(0x18000) @ 0 00:26 931017 625769152]: r-xp /lib64/libpthread-2.22.so
       perf.good     0 [000]     0.000000: PERF_RECORD_MMAP2 23582/23582: [0xffff93a6f000(0x9000) @ 0 00:26 430868 625769152]: r-xp /lib64/libunwind.so.8.0.1
       perf.good     0 [000]     0.000000: PERF_RECORD_MMAP2 23582/23582: [0xffff93ac6000(0xe000) @ 0 00:26 430870 625769152]: r-xp /usr/lib64/libunwind-aarch64.so.8.0.1
       perf.good     0 [000]     0.000000: PERF_RECORD_MMAP2 23582/23582: [0xffff93b1d000(0x1e000) @ 0 00:26 930982 625769152]: r-xp /lib64/ld-2.22.so
       perf.good     0 [000]     0.000000: PERF_RECORD_MMAP2 23582/23582: [0xffff93b4b000(0x1000) @ 0 00:00 0 625769152]: r-xp [vdso]
       perf.good     0 [000]     0.000000: PERF_RECORD_MMAP2 23583/23583: [0x400000(0x50a000) @ 0 00:26 1220014 625769152]: r-xp /home/kim/git/linux-perf-acme-urgent/tools/perf/perf.good
       perf.good     0 [000]     0.000000: PERF_RECORD_MMAP2 23583/23583: [0xffff93105000(0xf000) @ 0 00:26 123277 625769152]: r-xp /usr/lib64/libbz2.so.1.0.6
       perf.good     0 [000]     0.000000: PERF_RECORD_MMAP2 23583/23583: [0xffff93127000(0x149000) @ 0 00:26 930989 625769152]: r-xp /lib64/libc-2.22.so
       perf.good     0 [000]     0.000000: PERF_RECORD_MMAP2 23583/23583: [0xffff9328d000(0xb000) @ 0 00:26 122960 625769152]: r-xp /usr/lib64/libnuma.so.1
       perf.good     0 [000]     0.000000: PERF_RECORD_MMAP2 23583/23583: [0xffff932b3000(0x24000) @ 0 00:26 123031 625769152]: r-xp /usr/lib64/liblzma.so.5.2.2
       perf.good     0 [000]     0.000000: PERF_RECORD_MMAP2 23583/23583: [0xffff932f4000(0x14000) @ 0 00:26 122708 625769152]: r-xp /lib64/libz.so.1.2.8
       perf.good     0 [000]     0.000000: PERF_RECORD_MMAP2 23583/23583: [0xffff93325000(0xb000) @ 0 00:26 930993 625769152]: r-xp /lib64/libcrypt-2.22.so
       perf.good     0 [000]     0.000000: PERF_RECORD_MMAP2 23583/23583: [0xffff93375000(0x176000) @ 0 00:26 654556 625769152]: r-xp /usr/lib/perl5/5.18.2/aarch64-linux-thread-multi/CORE/libperl.so
       perf.good     0 [000]     0.000000: PERF_RECORD_MMAP2 23583/23583: [0xffff9350b000(0xf7000) @ 0 00:26 432344 625769152]: r-xp /usr/lib64/libslang.so.2.2.4
       perf.good     0 [000]     0.000000: PERF_RECORD_MMAP2 23583/23583: [0xffff93698000(0x1b6000) @ 0 00:26 931332 625769152]: r-xp /lib64/libcrypto.so.1.0.0
       perf.good     0 [000]     0.000000: PERF_RECORD_MMAP2 23583/23583: [0xffff9388a000(0x17000) @ 0 00:26 587830 625769152]: r-xp /usr/lib64/libaudit.so.1.0.0
       perf.good     0 [000]     0.000000: PERF_RECORD_MMAP2 23583/23583: [0xffff938c5000(0x3d000) @ 0 00:26 123704 625769152]: r-xp /usr/lib64/libdw-0.158.so
       perf.good     0 [000]     0.000000: PERF_RECORD_MMAP2 23583/23583: [0xffff93916000(0x15000) @ 0 00:26 123195 625769152]: r-xp /usr/lib64/libelf-0.158.so
       perf.good     0 [000]     0.000000: PERF_RECORD_MMAP2 23583/23583: [0xffff93947000(0x3000) @ 0 00:26 930995 625769152]: r-xp /lib64/libdl-2.22.so
       perf.good     0 [000]     0.000000: PERF_RECORD_MMAP2 23583/23583: [0xffff93968000(0x99000) @ 0 00:26 930997 625769152]: r-xp /lib64/libm-2.22.so
       perf.good     0 [000]     0.000000: PERF_RECORD_MMAP2 23583/23583: [0xffff93a19000(0x6000) @ 0 00:26 931021 625769152]: r-xp /lib64/librt-2.22.so
       perf.good     0 [000]     0.000000: PERF_RECORD_MMAP2 23583/23583: [0xffff93a3a000(0x18000) @ 0 00:26 931017 625769152]: r-xp /lib64/libpthread-2.22.so
       perf.good     0 [000]     0.000000: PERF_RECORD_MMAP2 23583/23583: [0xffff93a6f000(0x9000) @ 0 00:26 430868 625769152]: r-xp /lib64/libunwind.so.8.0.1
       perf.good     0 [000]     0.000000: PERF_RECORD_MMAP2 23583/23583: [0xffff93ac6000(0xe000) @ 0 00:26 430870 625769152]: r-xp /usr/lib64/libunwind-aarch64.so.8.0.1
       perf.good     0 [000]     0.000000: PERF_RECORD_MMAP2 23583/23583: [0xffff93b1d000(0x1e000) @ 0 00:26 930982 625769152]: r-xp /lib64/ld-2.22.so
       perf.good     0 [000]     0.000000: PERF_RECORD_MMAP2 23583/23583: [0xffff93b4b000(0x1000) @ 0 00:00 0 625769152]: r-xp [vdso]
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 27025/27025: [0xaaaadc7aa000(0xd6000) @ 0 00:26 961857 625769152]: r-xp /usr/sbin/sshd
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 27025/27025: [0xffff8cbe1000(0x1000) @ 0 00:26 931098 625769152]: r-xp /lib64/security/pam_deny.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 27025/27025: [0xffff8cc02000(0x1000) @ 0 00:26 931134 625769152]: r-xp /lib64/security/pam_warn.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 27025/27025: [0xffff8cc23000(0x3000) @ 0 00:26 931109 625769152]: r-xp /lib64/security/pam_lastlog.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 27025/27025: [0xffff8cc44000(0x5000) @ 0 00:26 123300 625769152]: r-xp /lib64/libattr.so.1.1.0
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 27025/27025: [0xffff8cc65000(0x3000) @ 0 00:26 931092 625769152]: r-xp /lib64/libpam_misc.so.0.82.1
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 27025/27025: [0xffff8cc86000(0x2c000) @ 0 00:26 122824 625769152]: r-xp /usr/lib64/libseccomp.so.2.3.1
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 27025/27025: [0xffff8ccd7000(0x8000) @ 0 00:26 123721 625769152]: r-xp /lib64/libacl.so.1.1.0
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 27025/27025: [0xffff8ccf8000(0x13000) @ 0 00:26 123088 625769152]: r-xp /usr/lib64/libgpg-error.so.0.22.0
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 27025/27025: [0xffff8cd29000(0x9e000) @ 0 00:26 653339 625769152]: r-xp /usr/lib64/libgcrypt.so.20.0.1
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 27025/27025: [0xffff8cddd000(0x24000) @ 0 00:26 123031 625769152]: r-xp /usr/lib64/liblzma.so.5.2.2
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 27025/27025: [0xffff8ce1e000(0x99000) @ 0 00:26 930997 625769152]: r-xp /lib64/libm-2.22.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 27025/27025: [0xffff8cecf000(0x6000) @ 0 00:26 931021 625769152]: r-xp /lib64/librt-2.22.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 27025/27025: [0xffff8cef0000(0x4000) @ 0 00:26 123263 625769152]: r-xp /lib64/libcap.so.2.22
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 27025/27025: [0xffff8cf11000(0x49000) @ 0 00:26 996107 625769152]: r-xp /lib64/security/pam_systemd.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 27025/27025: [0xffff8cf72000(0x2000) @ 0 00:26 931133 625769152]: r-xp /lib64/security/pam_umask.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 27025/27025: [0xffff8cf93000(0x4000) @ 0 00:26 931110 625769152]: r-xp /lib64/security/pam_limits.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 27025/27025: [0xffff8cfb4000(0x2000) @ 0 00:26 931113 625769152]: r-xp /lib64/security/pam_loginuid.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 27025/27025: [0xffff8cfd5000(0x9000) @ 0 00:26 133221 625769152]: r-xp /usr/lib64/libcrack.so.2.9.0
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 27025/27025: [0xffff8cffa000(0x3000) @ 0 00:26 931096 625769152]: r-xp /lib64/security/pam_cracklib.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 27025/27025: [0xffff8d01b000(0xc000) @ 0 00:26 931273 625769152]: r-xp /lib64/security/pam_unix.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 27025/27025: [0xffff8d048000(0x3000) @ 0 00:26 931100 625769152]: r-xp /lib64/security/pam_env.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 27025/27025: [0xffff8d079000(0x2000) @ 0 00:26 931118 625769152]: r-xp /lib64/security/pam_nologin.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 27025/27025: [0xffff8d0aa000(0xb000) @ 0 00:26 931007 625769152]: r-xp /lib64/libnss_files-2.22.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 27025/27025: [0xffff8d0d1000(0xa000) @ 0 00:26 931011 625769152]: r-xp /lib64/libnss_nis-2.22.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 27025/27025: [0xffff8d0f2000(0x15000) @ 0 00:26 930999 625769152]: r-xp /lib64/libnsl-2.22.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 27025/27025: [0xffff8d125000(0x7000) @ 0 00:26 931001 625769152]: r-xp /lib64/libnss_compat-2.22.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 27025/27025: [0xffff8d14a000(0x18000) @ 0 00:26 931017 625769152]: r-xp /lib64/libpthread-2.22.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 27025/27025: [0xffff8d17f000(0x13000) @ 0 00:26 931019 625769152]: r-xp /lib64/libresolv-2.22.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 27025/27025: [0xffff8d1b2000(0x3000) @ 0 00:26 123051 625769152]: r-xp /lib64/libkeyutils.so.1.5
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 27025/27025: [0xffff8d1d4000(0xd000) @ 0 00:26 653324 625769152]: r-xp /usr/lib64/libkrb5support.so.0.1
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 27025/27025: [0xffff8d1f5000(0x2e000) @ 0 00:26 653312 625769152]: r-xp /usr/lib64/libk5crypto.so.3.1
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 27025/27025: [0xffff8d237000(0x3b000) @ 0 00:26 587843 625769152]: r-xp /usr/lib64/libpcre.so.1.2.7
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 27025/27025: [0xffff8d289000(0x3000) @ 0 00:26 930995 625769152]: r-xp /lib64/libdl-2.22.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 27025/27025: [0xffff8d2aa000(0x149000) @ 0 00:26 930989 625769152]: r-xp /lib64/libc-2.22.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 27025/27025: [0xffff8d410000(0x3000) @ 0 00:26 123247 625769152]: r-xp /usr/lib64/libcom_err.so.2.1
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 27025/27025: [0xffff8d432000(0xc0000) @ 0 00:26 653322 625769152]: r-xp /usr/lib64/libkrb5.so.3.3
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 27025/27025: [0xffff8d515000(0x43000) @ 0 00:26 653308 625769152]: r-xp /usr/lib64/libgssapi_krb5.so.2.2
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 27025/27025: [0xffff8d577000(0xb000) @ 0 00:26 930993 625769152]: r-xp /lib64/libcrypt-2.22.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 27025/27025: [0xffff8d5c6000(0x14000) @ 0 00:26 122708 625769152]: r-xp /lib64/libz.so.1.2.8
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 27025/27025: [0xffff8d5f7000(0x2000) @ 0 00:26 931025 625769152]: r-xp /lib64/libutil-2.22.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 27025/27025: [0xffff8d618000(0x1b6000) @ 0 00:26 931332 625769152]: r-xp /lib64/libcrypto.so.1.0.0
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 27025/27025: [0xffff8d809000(0x24000) @ 0 00:26 123567 625769152]: r-xp /lib64/libselinux.so.1
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 27025/27025: [0xffff8d84c000(0xe000) @ 0 00:26 931090 625769152]: r-xp /lib64/libpam.so.0.84.2
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 27025/27025: [0xffff8d86d000(0x17000) @ 0 00:26 587830 625769152]: r-xp /usr/lib64/libaudit.so.1.0.0
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 27025/27025: [0xffff8d8a8000(0x1e000) @ 0 00:26 930982 625769152]: r-xp /lib64/ld-2.22.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 27025/27025: [0xffff8d8d6000(0x1000) @ 0 00:00 0 625769152]: r-xp [vdso]
         systemd     0 [000]     0.000000: PERF_RECORD_MMAP2 27030/27030: [0xaaaab1e10000(0x160000) @ 0 00:26 996379 625769152]: r-xp /usr/lib/systemd/systemd
         systemd     0 [000]     0.000000: PERF_RECORD_MMAP2 27030/27030: [0xffff9b80b000(0x4000) @ 0 00:26 931300 625769152]: r-xp /usr/lib64/libuuid.so.1.3.0
         systemd     0 [000]     0.000000: PERF_RECORD_MMAP2 27030/27030: [0xffff9b82d000(0x40000) @ 0 00:26 948512 625769152]: r-xp /usr/lib64/libblkid.so.1.1.0
         systemd     0 [000]     0.000000: PERF_RECORD_MMAP2 27030/27030: [0xffff9b88f000(0x17000) @ 0 00:26 587830 625769152]: r-xp /usr/lib64/libaudit.so.1.0.0
         systemd     0 [000]     0.000000: PERF_RECORD_MMAP2 27030/27030: [0xffff9b8cb000(0x3000) @ 0 00:26 930995 625769152]: r-xp /lib64/libdl-2.22.so
         systemd     0 [000]     0.000000: PERF_RECORD_MMAP2 27030/27030: [0xffff9b8ec000(0x3b000) @ 0 00:26 587843 625769152]: r-xp /usr/lib64/libpcre.so.1.2.7
         systemd     0 [000]     0.000000: PERF_RECORD_MMAP2 27030/27030: [0xffff9b93d000(0x149000) @ 0 00:26 930989 625769152]: r-xp /lib64/libc-2.22.so
         systemd     0 [000]     0.000000: PERF_RECORD_MMAP2 27030/27030: [0xffff9baa4000(0x18000) @ 0 00:26 931017 625769152]: r-xp /lib64/libpthread-2.22.so
         systemd     0 [000]     0.000000: PERF_RECORD_MMAP2 27030/27030: [0xffff9bad9000(0x49000) @ 0 00:26 960295 625769152]: r-xp /usr/lib64/libmount.so.1.1.0
         systemd     0 [000]     0.000000: PERF_RECORD_MMAP2 27030/27030: [0xffff9bb3b000(0xf000) @ 0 00:26 653333 625769152]: r-xp /lib64/libapparmor.so.1.3.0
         systemd     0 [000]     0.000000: PERF_RECORD_MMAP2 27030/27030: [0xffff9bb5c000(0x14000) @ 0 00:26 931353 625769152]: r-xp /usr/lib64/libkmod.so.2.2.7
         systemd     0 [000]     0.000000: PERF_RECORD_MMAP2 27030/27030: [0xffff9bb8d000(0xe000) @ 0 00:26 931090 625769152]: r-xp /lib64/libpam.so.0.84.2
         systemd     0 [000]     0.000000: PERF_RECORD_MMAP2 27030/27030: [0xffff9bbae000(0x2c000) @ 0 00:26 122824 625769152]: r-xp /usr/lib64/libseccomp.so.2.3.1
         systemd     0 [000]     0.000000: PERF_RECORD_MMAP2 27030/27030: [0xffff9bbff000(0x6000) @ 0 00:26 931021 625769152]: r-xp /lib64/librt-2.22.so
         systemd     0 [000]     0.000000: PERF_RECORD_MMAP2 27030/27030: [0xffff9bc20000(0x4000) @ 0 00:26 123263 625769152]: r-xp /lib64/libcap.so.2.22
         systemd     0 [000]     0.000000: PERF_RECORD_MMAP2 27030/27030: [0xffff9bc41000(0x24000) @ 0 00:26 123567 625769152]: r-xp /lib64/libselinux.so.1
         systemd     0 [000]     0.000000: PERF_RECORD_MMAP2 27030/27030: [0xffff9bc84000(0x1e000) @ 0 00:26 930982 625769152]: r-xp /lib64/ld-2.22.so
         systemd     0 [000]     0.000000: PERF_RECORD_MMAP2 27030/27030: [0xffff9bcb2000(0x1000) @ 0 00:00 0 625769152]: r-xp [vdso]
        (sd-pam)     0 [000]     0.000000: PERF_RECORD_MMAP2 27031/27031: [0xaaaab6364000(0x160000) @ 0 00:26 996379 625769152]: r-xp /usr/lib/systemd/systemd
        (sd-pam)     0 [000]     0.000000: PERF_RECORD_MMAP2 27031/27031: [0xffff8dd1a000(0xb000) @ 0 00:26 931007 625769152]: r-xp /lib64/libnss_files-2.22.so
        (sd-pam)     0 [000]     0.000000: PERF_RECORD_MMAP2 27031/27031: [0xffff8dd41000(0xa000) @ 0 00:26 931011 625769152]: r-xp /lib64/libnss_nis-2.22.so
        (sd-pam)     0 [000]     0.000000: PERF_RECORD_MMAP2 27031/27031: [0xffff8dd62000(0x7000) @ 0 00:26 931001 625769152]: r-xp /lib64/libnss_compat-2.22.so
        (sd-pam)     0 [000]     0.000000: PERF_RECORD_MMAP2 27031/27031: [0xffff8dd83000(0x1000) @ 0 00:26 931098 625769152]: r-xp /lib64/security/pam_deny.so
        (sd-pam)     0 [000]     0.000000: PERF_RECORD_MMAP2 27031/27031: [0xffff8dda4000(0x1000) @ 0 00:26 931134 625769152]: r-xp /lib64/security/pam_warn.so
        (sd-pam)     0 [000]     0.000000: PERF_RECORD_MMAP2 27031/27031: [0xffff8ddc5000(0x3000) @ 0 00:26 931100 625769152]: r-xp /lib64/security/pam_env.so
        (sd-pam)     0 [000]     0.000000: PERF_RECORD_MMAP2 27031/27031: [0xffff8dde6000(0x5000) @ 0 00:26 123300 625769152]: r-xp /lib64/libattr.so.1.1.0
        (sd-pam)     0 [000]     0.000000: PERF_RECORD_MMAP2 27031/27031: [0xffff8de07000(0x3000) @ 0 00:26 931092 625769152]: r-xp /lib64/libpam_misc.so.0.82.1
        (sd-pam)     0 [000]     0.000000: PERF_RECORD_MMAP2 27031/27031: [0xffff8de28000(0x8000) @ 0 00:26 123721 625769152]: r-xp /lib64/libacl.so.1.1.0
        (sd-pam)     0 [000]     0.000000: PERF_RECORD_MMAP2 27031/27031: [0xffff8de49000(0x13000) @ 0 00:26 123088 625769152]: r-xp /usr/lib64/libgpg-error.so.0.22.0
        (sd-pam)     0 [000]     0.000000: PERF_RECORD_MMAP2 27031/27031: [0xffff8de7a000(0x9e000) @ 0 00:26 653339 625769152]: r-xp /usr/lib64/libgcrypt.so.20.0.1
        (sd-pam)     0 [000]     0.000000: PERF_RECORD_MMAP2 27031/27031: [0xffff8df2e000(0x24000) @ 0 00:26 123031 625769152]: r-xp /usr/lib64/liblzma.so.5.2.2
        (sd-pam)     0 [000]     0.000000: PERF_RECORD_MMAP2 27031/27031: [0xffff8df6f000(0x13000) @ 0 00:26 931019 625769152]: r-xp /lib64/libresolv-2.22.so
        (sd-pam)     0 [000]     0.000000: PERF_RECORD_MMAP2 27031/27031: [0xffff8dfa2000(0x99000) @ 0 00:26 930997 625769152]: r-xp /lib64/libm-2.22.so
        (sd-pam)     0 [000]     0.000000: PERF_RECORD_MMAP2 27031/27031: [0xffff8e053000(0x49000) @ 0 00:26 996107 625769152]: r-xp /lib64/security/pam_systemd.so
        (sd-pam)     0 [000]     0.000000: PERF_RECORD_MMAP2 27031/27031: [0xffff8e0b4000(0x2000) @ 0 00:26 931133 625769152]: r-xp /lib64/security/pam_umask.so
        (sd-pam)     0 [000]     0.000000: PERF_RECORD_MMAP2 27031/27031: [0xffff8e0d5000(0x4000) @ 0 00:26 931110 625769152]: r-xp /lib64/security/pam_limits.so
        (sd-pam)     0 [000]     0.000000: PERF_RECORD_MMAP2 27031/27031: [0xffff8e0f6000(0x4000) @ 0 00:26 931124 625769152]: r-xp /lib64/security/pam_selinux.so
        (sd-pam)     0 [000]     0.000000: PERF_RECORD_MMAP2 27031/27031: [0xffff8e117000(0x15000) @ 0 00:26 930999 625769152]: r-xp /lib64/libnsl-2.22.so
        (sd-pam)     0 [000]     0.000000: PERF_RECORD_MMAP2 27031/27031: [0xffff8e14a000(0xb000) @ 0 00:26 930993 625769152]: r-xp /lib64/libcrypt-2.22.so
        (sd-pam)     0 [000]     0.000000: PERF_RECORD_MMAP2 27031/27031: [0xffff8e199000(0xc000) @ 0 00:26 931273 625769152]: r-xp /lib64/security/pam_unix.so
        (sd-pam)     0 [000]     0.000000: PERF_RECORD_MMAP2 27031/27031: [0xffff8e1f9000(0x4000) @ 0 00:26 931300 625769152]: r-xp /usr/lib64/libuuid.so.1.3.0
        (sd-pam)     0 [000]     0.000000: PERF_RECORD_MMAP2 27031/27031: [0xffff8e21b000(0x40000) @ 0 00:26 948512 625769152]: r-xp /usr/lib64/libblkid.so.1.1.0
        (sd-pam)     0 [000]     0.000000: PERF_RECORD_MMAP2 27031/27031: [0xffff8e27d000(0x17000) @ 0 00:26 587830 625769152]: r-xp /usr/lib64/libaudit.so.1.0.0
        (sd-pam)     0 [000]     0.000000: PERF_RECORD_MMAP2 27031/27031: [0xffff8e2b9000(0x3000) @ 0 00:26 930995 625769152]: r-xp /lib64/libdl-2.22.so
        (sd-pam)     0 [000]     0.000000: PERF_RECORD_MMAP2 27031/27031: [0xffff8e2da000(0x3b000) @ 0 00:26 587843 625769152]: r-xp /usr/lib64/libpcre.so.1.2.7
        (sd-pam)     0 [000]     0.000000: PERF_RECORD_MMAP2 27031/27031: [0xffff8e32b000(0x149000) @ 0 00:26 930989 625769152]: r-xp /lib64/libc-2.22.so
        (sd-pam)     0 [000]     0.000000: PERF_RECORD_MMAP2 27031/27031: [0xffff8e492000(0x18000) @ 0 00:26 931017 625769152]: r-xp /lib64/libpthread-2.22.so
        (sd-pam)     0 [000]     0.000000: PERF_RECORD_MMAP2 27031/27031: [0xffff8e4c7000(0x49000) @ 0 00:26 960295 625769152]: r-xp /usr/lib64/libmount.so.1.1.0
        (sd-pam)     0 [000]     0.000000: PERF_RECORD_MMAP2 27031/27031: [0xffff8e529000(0xf000) @ 0 00:26 653333 625769152]: r-xp /lib64/libapparmor.so.1.3.0
        (sd-pam)     0 [000]     0.000000: PERF_RECORD_MMAP2 27031/27031: [0xffff8e54a000(0x14000) @ 0 00:26 931353 625769152]: r-xp /usr/lib64/libkmod.so.2.2.7
        (sd-pam)     0 [000]     0.000000: PERF_RECORD_MMAP2 27031/27031: [0xffff8e57b000(0xe000) @ 0 00:26 931090 625769152]: r-xp /lib64/libpam.so.0.84.2
        (sd-pam)     0 [000]     0.000000: PERF_RECORD_MMAP2 27031/27031: [0xffff8e59c000(0x2c000) @ 0 00:26 122824 625769152]: r-xp /usr/lib64/libseccomp.so.2.3.1
        (sd-pam)     0 [000]     0.000000: PERF_RECORD_MMAP2 27031/27031: [0xffff8e5ed000(0x6000) @ 0 00:26 931021 625769152]: r-xp /lib64/librt-2.22.so
        (sd-pam)     0 [000]     0.000000: PERF_RECORD_MMAP2 27031/27031: [0xffff8e60e000(0x4000) @ 0 00:26 123263 625769152]: r-xp /lib64/libcap.so.2.22
        (sd-pam)     0 [000]     0.000000: PERF_RECORD_MMAP2 27031/27031: [0xffff8e62f000(0x24000) @ 0 00:26 123567 625769152]: r-xp /lib64/libselinux.so.1
        (sd-pam)     0 [000]     0.000000: PERF_RECORD_MMAP2 27031/27031: [0xffff8e672000(0x1e000) @ 0 00:26 930982 625769152]: r-xp /lib64/ld-2.22.so
        (sd-pam)     0 [000]     0.000000: PERF_RECORD_MMAP2 27031/27031: [0xffff8e6a0000(0x1000) @ 0 00:00 0 625769152]: r-xp [vdso]
            bash     0 [000]     0.000000: PERF_RECORD_MMAP2 27034/27034: [0x400000(0xaf000) @ 0 00:26 129038 625769152]: r-xp /bin/bash
            bash     0 [000]     0.000000: PERF_RECORD_MMAP2 27034/27034: [0xffff84787000(0xb000) @ 0 00:26 931007 625769152]: r-xp /lib64/libnss_files-2.22.so
            bash     0 [000]     0.000000: PERF_RECORD_MMAP2 27034/27034: [0xffff847ae000(0xa000) @ 0 00:26 931011 625769152]: r-xp /lib64/libnss_nis-2.22.so
            bash     0 [000]     0.000000: PERF_RECORD_MMAP2 27034/27034: [0xffff847cf000(0x15000) @ 0 00:26 930999 625769152]: r-xp /lib64/libnsl-2.22.so
            bash     0 [000]     0.000000: PERF_RECORD_MMAP2 27034/27034: [0xffff84802000(0x7000) @ 0 00:26 931001 625769152]: r-xp /lib64/libnss_compat-2.22.so
            bash     0 [000]     0.000000: PERF_RECORD_MMAP2 27034/27034: [0xffff849a8000(0x149000) @ 0 00:26 930989 625769152]: r-xp /lib64/libc-2.22.so
            bash     0 [000]     0.000000: PERF_RECORD_MMAP2 27034/27034: [0xffff84b0e000(0x3000) @ 0 00:26 930995 625769152]: r-xp /lib64/libdl-2.22.so
            bash     0 [000]     0.000000: PERF_RECORD_MMAP2 27034/27034: [0xffff84b2f000(0x2c000) @ 0 00:26 996745 625769152]: r-xp /lib64/libtinfo.so.5.9
            bash     0 [000]     0.000000: PERF_RECORD_MMAP2 27034/27034: [0xffff84b75000(0x44000) @ 0 00:26 128536 625769152]: r-xp /lib64/libreadline.so.6.3
            bash     0 [000]     0.000000: PERF_RECORD_MMAP2 27034/27034: [0xffff84bdd000(0x1e000) @ 0 00:26 930982 625769152]: r-xp /lib64/ld-2.22.so
            bash     0 [000]     0.000000: PERF_RECORD_MMAP2 27034/27034: [0xffff84c0b000(0x1000) @ 0 00:00 0 625769152]: r-xp [vdso]
         ddd.org     0 [000]     0.000000: PERF_RECORD_MMAP2 27753/27753: [0x400000(0x26d000) @ 0 00:26 342325 625769152]: r-xp /usr/bin/ddd.org
         ddd.org     0 [000]     0.000000: PERF_RECORD_MMAP2 27753/27753: [0xffff7fffc000(0x13000) @ 0 00:26 931019 625769152]: r-xp /lib64/libresolv-2.22.so
         ddd.org     0 [000]     0.000000: PERF_RECORD_MMAP2 27753/27753: [0xffff8002f000(0x5000) @ 0 00:26 931005 625769152]: r-xp /lib64/libnss_dns-2.22.so
         ddd.org     0 [000]     0.000000: PERF_RECORD_MMAP2 27753/27753: [0xffff80050000(0xa000) @ 0 00:26 931011 625769152]: r-xp /lib64/libnss_nis-2.22.so
         ddd.org     0 [000]     0.000000: PERF_RECORD_MMAP2 27753/27753: [0xffff80071000(0x15000) @ 0 00:26 930999 625769152]: r-xp /lib64/libnsl-2.22.so
         ddd.org     0 [000]     0.000000: PERF_RECORD_MMAP2 27753/27753: [0xffff800a4000(0x7000) @ 0 00:26 931001 625769152]: r-xp /lib64/libnss_compat-2.22.so
         ddd.org     0 [000]     0.000000: PERF_RECORD_MMAP2 27753/27753: [0xffff800d1000(0x2000) @ 0 00:26 952958 625769152]: r-xp /usr/lib64/gconv/ISO8859-1.so
         ddd.org     0 [000]     0.000000: PERF_RECORD_MMAP2 27753/27753: [0xffff800f2000(0x5000) @ 0 00:26 126959 625769152]: r-xp /usr/lib64/libXfixes.so.3.1.0
         ddd.org     0 [000]     0.000000: PERF_RECORD_MMAP2 27753/27753: [0xffff80113000(0xa000) @ 0 00:26 127450 625769152]: r-xp /usr/lib64/libXcursor.so.1.0.2
         ddd.org     0 [000]     0.000000: PERF_RECORD_MMAP2 27753/27753: [0xffff80134000(0xb000) @ 0 00:26 931007 625769152]: r-xp /lib64/libnss_files-2.22.so
         ddd.org     0 [000]     0.000000: PERF_RECORD_MMAP2 27753/27753: [0xffff801ab000(0xf000) @ 0 00:26 123277 625769152]: r-xp /usr/lib64/libbz2.so.1.0.6
         ddd.org     0 [000]     0.000000: PERF_RECORD_MMAP2 27753/27753: [0xffff801cc000(0x18000) @ 0 00:26 931017 625769152]: r-xp /lib64/libpthread-2.22.so
         ddd.org     0 [000]     0.000000: PERF_RECORD_MMAP2 27753/27753: [0xffff80201000(0x22000) @ 0 00:26 127974 625769152]: r-xp /usr/lib64/libexpat.so.1.6.0
         ddd.org     0 [000]     0.000000: PERF_RECORD_MMAP2 27753/27753: [0xffff80243000(0x4000) @ 0 00:26 931300 625769152]: r-xp /usr/lib64/libuuid.so.1.3.0
         ddd.org     0 [000]     0.000000: PERF_RECORD_MMAP2 27753/27753: [0xffff80264000(0x14000) @ 0 00:26 122708 625769152]: r-xp /lib64/libz.so.1.2.8
         ddd.org     0 [000]     0.000000: PERF_RECORD_MMAP2 27753/27753: [0xffff80295000(0x9000) @ 0 00:26 126943 625769152]: r-xp /usr/lib64/libXrender.so.1.3.0
         ddd.org     0 [000]     0.000000: PERF_RECORD_MMAP2 27753/27753: [0xffff802b7000(0x8f000) @ 0 00:26 123756 625769152]: r-xp /usr/lib64/libfreetype.so.6.12.3
         ddd.org     0 [000]     0.000000: PERF_RECORD_MMAP2 27753/27753: [0xffff80368000(0x3c000) @ 0 00:26 133419 625769152]: r-xp /usr/lib64/libfontconfig.so.1.8.0
         ddd.org     0 [000]     0.000000: PERF_RECORD_MMAP2 27753/27753: [0xffff803b9000(0x3000) @ 0 00:26 123462 625769152]: r-xp /usr/lib64/libXau.so.6.0.0
         ddd.org     0 [000]     0.000000: PERF_RECORD_MMAP2 27753/27753: [0xffff803db000(0x3000) @ 0 00:26 930995 625769152]: r-xp /lib64/libdl-2.22.so
         ddd.org     0 [000]     0.000000: PERF_RECORD_MMAP2 27753/27753: [0xffff803fc000(0x1e000) @ 0 00:26 931280 625769152]: r-xp /usr/lib64/libxcb.so.1.1.0
         ddd.org     0 [000]     0.000000: PERF_RECORD_MMAP2 27753/27753: [0xffff8042d000(0x17000) @ 0 00:26 123472 625769152]: r-xp /usr/lib64/libICE.so.6.3.0
         ddd.org     0 [000]     0.000000: PERF_RECORD_MMAP2 27753/27753: [0xffff80463000(0x7000) @ 0 00:26 123750 625769152]: r-xp /usr/lib64/libSM.so.6.0.1
         ddd.org     0 [000]     0.000000: PERF_RECORD_MMAP2 27753/27753: [0xffff80484000(0x38000) @ 0 00:26 123518 625769152]: r-xp /usr/lib64/libpng16.so.16.8.0
         ddd.org     0 [000]     0.000000: PERF_RECORD_MMAP2 27753/27753: [0xffff804d5000(0x41000) @ 0 00:26 978677 625769152]: r-xp /usr/lib64/libjpeg.so.8.1.2
         ddd.org     0 [000]     0.000000: PERF_RECORD_MMAP2 27753/27753: [0xffff80537000(0x14000) @ 0 00:26 134496 625769152]: r-xp /usr/lib64/libXft.so.2.3.2
         ddd.org     0 [000]     0.000000: PERF_RECORD_MMAP2 27753/27753: [0xffff80568000(0x8000) @ 0 00:26 335224 625769152]: r-xp /usr/lib64/libXp.so.6.2.0
         ddd.org     0 [000]     0.000000: PERF_RECORD_MMAP2 27753/27753: [0xffff80589000(0x13000) @ 0 00:26 126963 625769152]: r-xp /usr/lib64/libXext.so.6.4.0
         ddd.org     0 [000]     0.000000: PERF_RECORD_MMAP2 27753/27753: [0xffff805bb000(0x19000) @ 0 00:26 341882 625769152]: r-xp /usr/lib64/libXmu.so.6.2.0
         ddd.org     0 [000]     0.000000: PERF_RECORD_MMAP2 27753/27753: [0xffff805ec000(0x149000) @ 0 00:26 930989 625769152]: r-xp /lib64/libc-2.22.so
         ddd.org     0 [000]     0.000000: PERF_RECORD_MMAP2 27753/27753: [0xffff80752000(0x14000) @ 0 00:26 976314 625769152]: r-xp /lib64/libgcc_s.so.1
         ddd.org     0 [000]     0.000000: PERF_RECORD_MMAP2 27753/27753: [0xffff80783000(0x99000) @ 0 00:26 930997 625769152]: r-xp /lib64/libm-2.22.so
         ddd.org     0 [000]     0.000000: PERF_RECORD_MMAP2 27753/27753: [0xffff80834000(0x180000) @ 0 00:26 976359 625769152]: r-xp /usr/lib64/libstdc++.so.6.0.24
         ddd.org     0 [000]     0.000000: PERF_RECORD_MMAP2 27753/27753: [0xffff809d9000(0x2c000) @ 0 00:26 996745 625769152]: r-xp /lib64/libtinfo.so.5.9
         ddd.org     0 [000]     0.000000: PERF_RECORD_MMAP2 27753/27753: [0xffff80a1f000(0x133000) @ 0 00:26 123990 625769152]: r-xp /usr/lib64/libX11.so.6.3.0
         ddd.org     0 [000]     0.000000: PERF_RECORD_MMAP2 27753/27753: [0xffff80b74000(0x5d000) @ 0 00:26 126937 625769152]: r-xp /usr/lib64/libXt.so.6.0.0
         ddd.org     0 [000]     0.000000: PERF_RECORD_MMAP2 27753/27753: [0xffff80be9000(0x281000) @ 0 00:26 342070 625769152]: r-xp /usr/lib64/libXm.so.4.0.4
         ddd.org     0 [000]     0.000000: PERF_RECORD_MMAP2 27753/27753: [0xffff80eaf000(0x1e000) @ 0 00:26 930982 625769152]: r-xp /lib64/ld-2.22.so
         ddd.org     0 [000]     0.000000: PERF_RECORD_MMAP2 27753/27753: [0xffff80edd000(0x1000) @ 0 00:00 0 625769152]: r-xp [vdso]
             gdb     0 [000]     0.000000: PERF_RECORD_MMAP2 27756/27756: [0x400000(0x83d000) @ 0 00:26 653102 625769152]: r-xp /usr/bin/gdb
             gdb     0 [000]     0.000000: PERF_RECORD_MMAP2 27756/27756: [0xffffa6351000(0x3000) @ 0 00:26 953010 625769152]: r-xp /usr/lib64/gconv/UTF-32.so
             gdb     0 [000]     0.000000: PERF_RECORD_MMAP2 27756/27756: [0xffffa641c000(0x7000) @ 0 00:26 931023 625769152]: r-xp /lib64/libthread_db-1.0.so
             gdb     0 [000]     0.000000: PERF_RECORD_MMAP2 27756/27756: [0xffffa643d000(0xb000) @ 0 00:26 931007 625769152]: r-xp /lib64/libnss_files-2.22.so
             gdb     0 [000]     0.000000: PERF_RECORD_MMAP2 27756/27756: [0xffffa6464000(0xa000) @ 0 00:26 931011 625769152]: r-xp /lib64/libnss_nis-2.22.so
             gdb     0 [000]     0.000000: PERF_RECORD_MMAP2 27756/27756: [0xffffa6485000(0x15000) @ 0 00:26 930999 625769152]: r-xp /lib64/libnsl-2.22.so
             gdb     0 [000]     0.000000: PERF_RECORD_MMAP2 27756/27756: [0xffffa64b8000(0x7000) @ 0 00:26 931001 625769152]: r-xp /lib64/libnss_compat-2.22.so
             gdb     0 [000]     0.000000: PERF_RECORD_MMAP2 27756/27756: [0xffffa64d9000(0x5000) @ 0 00:26 123300 625769152]: r-xp /lib64/libattr.so.1.1.0
             gdb     0 [000]     0.000000: PERF_RECORD_MMAP2 27756/27756: [0xffffa64fa000(0x3b000) @ 0 00:26 587843 625769152]: r-xp /usr/lib64/libpcre.so.1.2.7
             gdb     0 [000]     0.000000: PERF_RECORD_MMAP2 27756/27756: [0xffffa654b000(0x24000) @ 0 00:26 123031 625769152]: r-xp /usr/lib64/liblzma.so.5.2.2
             gdb     0 [000]     0.000000: PERF_RECORD_MMAP2 27756/27756: [0xffffa658c000(0x1aa000) @ 0 00:26 141091 625769152]: r-xp /usr/lib64/librpm.so.3.2.1
             gdb     0 [000]     0.000000: PERF_RECORD_MMAP2 27756/27756: [0xffffa6a8f000(0x15000) @ 0 00:26 123195 625769152]: r-xp /usr/lib64/libelf-0.158.so
             gdb     0 [000]     0.000000: PERF_RECORD_MMAP2 27756/27756: [0xffffa6ac0000(0xf000) @ 0 00:26 123277 625769152]: r-xp /usr/lib64/libbz2.so.1.0.6
             gdb     0 [000]     0.000000: PERF_RECORD_MMAP2 27756/27756: [0xffffa6ae1000(0x30000) @ 0 00:26 127940 625769152]: r-xp /usr/lib64/liblua.so.5.1
             gdb     0 [000]     0.000000: PERF_RECORD_MMAP2 27756/27756: [0xffffa6b32000(0x8000) @ 0 00:26 123721 625769152]: r-xp /lib64/libacl.so.1.1.0
             gdb     0 [000]     0.000000: PERF_RECORD_MMAP2 27756/27756: [0xffffa6b53000(0x4000) @ 0 00:26 123263 625769152]: r-xp /lib64/libcap.so.2.22
             gdb     0 [000]     0.000000: PERF_RECORD_MMAP2 27756/27756: [0xffffa6b74000(0x24000) @ 0 00:26 123567 625769152]: r-xp /lib64/libselinux.so.1
             gdb     0 [000]     0.000000: PERF_RECORD_MMAP2 27756/27756: [0xffffa6bb7000(0xb000) @ 0 00:26 122878 625769152]: r-xp /usr/lib64/libpopt.so.0.0.0
             gdb     0 [000]     0.000000: PERF_RECORD_MMAP2 27756/27756: [0xffffa6bd8000(0x4a000) @ 0 00:26 141095 625769152]: r-xp /usr/lib64/librpmio.so.3.2.1
             gdb     0 [000]     0.000000: PERF_RECORD_MMAP2 27756/27756: [0xffffa7dbe000(0x3000) @ 0 00:26 132124 625769152]: r-xp /usr/lib64/python2.7/lib-dynload/_heapq.so
             gdb     0 [000]     0.000000: PERF_RECORD_MMAP2 27756/27756: [0xffffa7de0000(0x9000) @ 0 00:26 132157 625769152]: r-xp /usr/lib64/python2.7/lib-dynload/operator.so
             gdb     0 [000]     0.000000: PERF_RECORD_MMAP2 27756/27756: [0xffffa7e02000(0x7000) @ 0 00:26 132118 625769152]: r-xp /usr/lib64/python2.7/lib-dynload/_collections.so
             gdb     0 [000]     0.000000: PERF_RECORD_MMAP2 27756/27756: [0xffffa7e74000(0xb000) @ 0 00:26 132152 625769152]: r-xp /usr/lib64/python2.7/lib-dynload/itertools.so
             gdb     0 [000]     0.000000: PERF_RECORD_MMAP2 27756/27756: [0xffffa7fc9000(0x2000) @ 0 00:26 952958 625769152]: r-xp /usr/lib64/gconv/ISO8859-1.so
             gdb     0 [000]     0.000000: PERF_RECORD_MMAP2 27756/27756: [0xffffa806a000(0x4000) @ 0 00:26 132128 625769152]: r-xp /usr/lib64/python2.7/lib-dynload/_locale.so
             gdb     0 [000]     0.000000: PERF_RECORD_MMAP2 27756/27756: [0xffffa820a000(0x2000) @ 0 00:26 931025 625769152]: r-xp /lib64/libutil-2.22.so
             gdb     0 [000]     0.000000: PERF_RECORD_MMAP2 27756/27756: [0xffffa822b000(0xb000) @ 0 00:26 930993 625769152]: r-xp /lib64/libcrypt-2.22.so
             gdb     0 [000]     0.000000: PERF_RECORD_MMAP2 27756/27756: [0xffffa827a000(0x9000) @ 0 00:26 931345 625769152]: r-xp /usr/lib64/libltdl.so.7.3.0
             gdb     0 [000]     0.000000: PERF_RECORD_MMAP2 27756/27756: [0xffffa829c000(0x6c000) @ 0 00:26 123119 625769152]: r-xp /usr/lib64/libgmp.so.10.1.3
             gdb     0 [000]     0.000000: PERF_RECORD_MMAP2 27756/27756: [0xffffa8325000(0x10b000) @ 0 00:26 334564 625769152]: r-xp /usr/lib64/libunistring.so.0.1.2
             gdb     0 [000]     0.000000: PERF_RECORD_MMAP2 27756/27756: [0xffffa8447000(0x7000) @ 0 00:26 123156 625769152]: r-xp /usr/lib64/libffi.so.4.0.1
             gdb     0 [000]     0.000000: PERF_RECORD_MMAP2 27756/27756: [0xffffa8469000(0x25000) @ 0 00:26 335230 625769152]: r-xp /usr/lib64/libgc.so.1.0.3
             gdb     0 [000]     0.000000: PERF_RECORD_MMAP2 27756/27756: [0xffffa855e000(0x149000) @ 0 00:26 930989 625769152]: r-xp /lib64/libc-2.22.so
             gdb     0 [000]     0.000000: PERF_RECORD_MMAP2 27756/27756: [0xffffa86c4000(0x22000) @ 0 00:26 127974 625769152]: r-xp /usr/lib64/libexpat.so.1.6.0
             gdb     0 [000]     0.000000: PERF_RECORD_MMAP2 27756/27756: [0xffffa8706000(0x1bb000) @ 0 00:26 122851 625769152]: r-xp /usr/lib64/libpython2.7.so.1.0
             gdb     0 [000]     0.000000: PERF_RECORD_MMAP2 27756/27756: [0xffffa8934000(0x99000) @ 0 00:26 930997 625769152]: r-xp /lib64/libm-2.22.so
             gdb     0 [000]     0.000000: PERF_RECORD_MMAP2 27756/27756: [0xffffa89e5000(0x18000) @ 0 00:26 931017 625769152]: r-xp /lib64/libpthread-2.22.so
             gdb     0 [000]     0.000000: PERF_RECORD_MMAP2 27756/27756: [0xffffa8a1a000(0x15c000) @ 0 00:26 341341 625769152]: r-xp /usr/lib64/libguile-2.0.so.22.7.0
             gdb     0 [000]     0.000000: PERF_RECORD_MMAP2 27756/27756: [0xffffa8bc5000(0x2c000) @ 0 00:26 996745 625769152]: r-xp /lib64/libtinfo.so.5.9
             gdb     0 [000]     0.000000: PERF_RECORD_MMAP2 27756/27756: [0xffffa8c0b000(0x33000) @ 0 00:26 996743 625769152]: r-xp /lib64/libncursesw.so.5.9
             gdb     0 [000]     0.000000: PERF_RECORD_MMAP2 27756/27756: [0xffffa8c5c000(0x3000) @ 0 00:26 930995 625769152]: r-xp /lib64/libdl-2.22.so
             gdb     0 [000]     0.000000: PERF_RECORD_MMAP2 27756/27756: [0xffffa8c7d000(0x14000) @ 0 00:26 122708 625769152]: r-xp /lib64/libz.so.1.2.8
             gdb     0 [000]     0.000000: PERF_RECORD_MMAP2 27756/27756: [0xffffa8cae000(0x44000) @ 0 00:26 128536 625769152]: r-xp /lib64/libreadline.so.6.3
             gdb     0 [000]     0.000000: PERF_RECORD_MMAP2 27756/27756: [0xffffa8d16000(0x1e000) @ 0 00:26 930982 625769152]: r-xp /lib64/ld-2.22.so
             gdb     0 [000]     0.000000: PERF_RECORD_MMAP2 27756/27756: [0xffffa8d44000(0x1000) @ 0 00:00 0 625769152]: r-xp [vdso]
            perf     0 [000]     0.000000: PERF_RECORD_MMAP2 28059/28059: [0x400000(0x509000) @ 0 00:26 1135726 625769152]: r-xp /home/kim/git/linux-perf-acme-urgent/tools/perf/perf (deleted)
            perf     0 [000]     0.000000: PERF_RECORD_MMAP2 28059/28059: [0xffffbecb7000(0xf000) @ 0 00:26 123277 625769152]: r-xp /usr/lib64/libbz2.so.1.0.6
            perf     0 [000]     0.000000: PERF_RECORD_MMAP2 28059/28059: [0xffffbecd9000(0x149000) @ 0 00:26 930989 625769152]: r-xp /lib64/libc-2.22.so
            perf     0 [000]     0.000000: PERF_RECORD_MMAP2 28059/28059: [0xffffbee3f000(0xb000) @ 0 00:26 122960 625769152]: r-xp /usr/lib64/libnuma.so.1
            perf     0 [000]     0.000000: PERF_RECORD_MMAP2 28059/28059: [0xffffbee65000(0x24000) @ 0 00:26 123031 625769152]: r-xp /usr/lib64/liblzma.so.5.2.2
            perf     0 [000]     0.000000: PERF_RECORD_MMAP2 28059/28059: [0xffffbeea6000(0x14000) @ 0 00:26 122708 625769152]: r-xp /lib64/libz.so.1.2.8
            perf     0 [000]     0.000000: PERF_RECORD_MMAP2 28059/28059: [0xffffbeed7000(0xb000) @ 0 00:26 930993 625769152]: r-xp /lib64/libcrypt-2.22.so
            perf     0 [000]     0.000000: PERF_RECORD_MMAP2 28059/28059: [0xffffbef27000(0x176000) @ 0 00:26 654556 625769152]: r-xp /usr/lib/perl5/5.18.2/aarch64-linux-thread-multi/CORE/libperl.so
            perf     0 [000]     0.000000: PERF_RECORD_MMAP2 28059/28059: [0xffffbf0bd000(0xf7000) @ 0 00:26 432344 625769152]: r-xp /usr/lib64/libslang.so.2.2.4
            perf     0 [000]     0.000000: PERF_RECORD_MMAP2 28059/28059: [0xffffbf24a000(0x1b6000) @ 0 00:26 931332 625769152]: r-xp /lib64/libcrypto.so.1.0.0
            perf     0 [000]     0.000000: PERF_RECORD_MMAP2 28059/28059: [0xffffbf43c000(0x17000) @ 0 00:26 587830 625769152]: r-xp /usr/lib64/libaudit.so.1.0.0
            perf     0 [000]     0.000000: PERF_RECORD_MMAP2 28059/28059: [0xffffbf477000(0x3d000) @ 0 00:26 123704 625769152]: r-xp /usr/lib64/libdw-0.158.so
            perf     0 [000]     0.000000: PERF_RECORD_MMAP2 28059/28059: [0xffffbf4c8000(0x15000) @ 0 00:26 123195 625769152]: r-xp /usr/lib64/libelf-0.158.so
            perf     0 [000]     0.000000: PERF_RECORD_MMAP2 28059/28059: [0xffffbf4f9000(0x3000) @ 0 00:26 930995 625769152]: r-xp /lib64/libdl-2.22.so
            perf     0 [000]     0.000000: PERF_RECORD_MMAP2 28059/28059: [0xffffbf51a000(0x99000) @ 0 00:26 930997 625769152]: r-xp /lib64/libm-2.22.so
            perf     0 [000]     0.000000: PERF_RECORD_MMAP2 28059/28059: [0xffffbf5cb000(0x6000) @ 0 00:26 931021 625769152]: r-xp /lib64/librt-2.22.so
            perf     0 [000]     0.000000: PERF_RECORD_MMAP2 28059/28059: [0xffffbf5ec000(0x18000) @ 0 00:26 931017 625769152]: r-xp /lib64/libpthread-2.22.so
            perf     0 [000]     0.000000: PERF_RECORD_MMAP2 28059/28059: [0xffffbf621000(0x9000) @ 0 00:26 430868 625769152]: r-xp /lib64/libunwind.so.8.0.1
            perf     0 [000]     0.000000: PERF_RECORD_MMAP2 28059/28059: [0xffffbf678000(0xe000) @ 0 00:26 430870 625769152]: r-xp /usr/lib64/libunwind-aarch64.so.8.0.1
            perf     0 [000]     0.000000: PERF_RECORD_MMAP2 28059/28059: [0xffffbf6cf000(0x1e000) @ 0 00:26 930982 625769152]: r-xp /lib64/ld-2.22.so
            perf     0 [000]     0.000000: PERF_RECORD_MMAP2 28059/28059: [0xffffbf6fd000(0x1000) @ 0 00:00 0 625769152]: r-xp [vdso]
            perf     0 [000]     0.000000: PERF_RECORD_MMAP2 28060/28060: [0x400000(0x509000) @ 0 00:26 1135726 625769152]: r-xp /home/kim/git/linux-perf-acme-urgent/tools/perf/perf (deleted)
            perf     0 [000]     0.000000: PERF_RECORD_MMAP2 28060/28060: [0xffffbecb7000(0xf000) @ 0 00:26 123277 625769152]: r-xp /usr/lib64/libbz2.so.1.0.6
            perf     0 [000]     0.000000: PERF_RECORD_MMAP2 28060/28060: [0xffffbecd9000(0x149000) @ 0 00:26 930989 625769152]: r-xp /lib64/libc-2.22.so
            perf     0 [000]     0.000000: PERF_RECORD_MMAP2 28060/28060: [0xffffbee3f000(0xb000) @ 0 00:26 122960 625769152]: r-xp /usr/lib64/libnuma.so.1
            perf     0 [000]     0.000000: PERF_RECORD_MMAP2 28060/28060: [0xffffbee65000(0x24000) @ 0 00:26 123031 625769152]: r-xp /usr/lib64/liblzma.so.5.2.2
            perf     0 [000]     0.000000: PERF_RECORD_MMAP2 28060/28060: [0xffffbeea6000(0x14000) @ 0 00:26 122708 625769152]: r-xp /lib64/libz.so.1.2.8
            perf     0 [000]     0.000000: PERF_RECORD_MMAP2 28060/28060: [0xffffbeed7000(0xb000) @ 0 00:26 930993 625769152]: r-xp /lib64/libcrypt-2.22.so
            perf     0 [000]     0.000000: PERF_RECORD_MMAP2 28060/28060: [0xffffbef27000(0x176000) @ 0 00:26 654556 625769152]: r-xp /usr/lib/perl5/5.18.2/aarch64-linux-thread-multi/CORE/libperl.so
            perf     0 [000]     0.000000: PERF_RECORD_MMAP2 28060/28060: [0xffffbf0bd000(0xf7000) @ 0 00:26 432344 625769152]: r-xp /usr/lib64/libslang.so.2.2.4
            perf     0 [000]     0.000000: PERF_RECORD_MMAP2 28060/28060: [0xffffbf24a000(0x1b6000) @ 0 00:26 931332 625769152]: r-xp /lib64/libcrypto.so.1.0.0
            perf     0 [000]     0.000000: PERF_RECORD_MMAP2 28060/28060: [0xffffbf43c000(0x17000) @ 0 00:26 587830 625769152]: r-xp /usr/lib64/libaudit.so.1.0.0
            perf     0 [000]     0.000000: PERF_RECORD_MMAP2 28060/28060: [0xffffbf477000(0x3d000) @ 0 00:26 123704 625769152]: r-xp /usr/lib64/libdw-0.158.so
            perf     0 [000]     0.000000: PERF_RECORD_MMAP2 28060/28060: [0xffffbf4c8000(0x15000) @ 0 00:26 123195 625769152]: r-xp /usr/lib64/libelf-0.158.so
            perf     0 [000]     0.000000: PERF_RECORD_MMAP2 28060/28060: [0xffffbf4f9000(0x3000) @ 0 00:26 930995 625769152]: r-xp /lib64/libdl-2.22.so
            perf     0 [000]     0.000000: PERF_RECORD_MMAP2 28060/28060: [0xffffbf51a000(0x99000) @ 0 00:26 930997 625769152]: r-xp /lib64/libm-2.22.so
            perf     0 [000]     0.000000: PERF_RECORD_MMAP2 28060/28060: [0xffffbf5cb000(0x6000) @ 0 00:26 931021 625769152]: r-xp /lib64/librt-2.22.so
            perf     0 [000]     0.000000: PERF_RECORD_MMAP2 28060/28060: [0xffffbf5ec000(0x18000) @ 0 00:26 931017 625769152]: r-xp /lib64/libpthread-2.22.so
            perf     0 [000]     0.000000: PERF_RECORD_MMAP2 28060/28060: [0xffffbf621000(0x9000) @ 0 00:26 430868 625769152]: r-xp /lib64/libunwind.so.8.0.1
            perf     0 [000]     0.000000: PERF_RECORD_MMAP2 28060/28060: [0xffffbf678000(0xe000) @ 0 00:26 430870 625769152]: r-xp /usr/lib64/libunwind-aarch64.so.8.0.1
            perf     0 [000]     0.000000: PERF_RECORD_MMAP2 28060/28060: [0xffffbf6cf000(0x1e000) @ 0 00:26 930982 625769152]: r-xp /lib64/ld-2.22.so
            perf     0 [000]     0.000000: PERF_RECORD_MMAP2 28060/28060: [0xffffbf6fd000(0x1000) @ 0 00:00 0 625769152]: r-xp [vdso]
          pickup     0 [000]     0.000000: PERF_RECORD_MMAP2 28218/28218: [0xaaaab01f6000(0x3000) @ 0 00:26 171692 625769152]: r-xp /usr/lib/postfix/pickup
          pickup     0 [000]     0.000000: PERF_RECORD_MMAP2 28218/28218: [0xffffaed16000(0xb000) @ 0 00:26 931007 625769152]: r-xp /lib64/libnss_files-2.22.so
          pickup     0 [000]     0.000000: PERF_RECORD_MMAP2 28218/28218: [0xffffaed3d000(0xa000) @ 0 00:26 931011 625769152]: r-xp /lib64/libnss_nis-2.22.so
          pickup     0 [000]     0.000000: PERF_RECORD_MMAP2 28218/28218: [0xffffaed5e000(0x7000) @ 0 00:26 931001 625769152]: r-xp /lib64/libnss_compat-2.22.so
          pickup     0 [000]     0.000000: PERF_RECORD_MMAP2 28218/28218: [0xffffaed83000(0x14000) @ 0 00:26 976314 625769152]: r-xp /lib64/libgcc_s.so.1
          pickup     0 [000]     0.000000: PERF_RECORD_MMAP2 28218/28218: [0xffffaedb5000(0x99000) @ 0 00:26 930997 625769152]: r-xp /lib64/libm-2.22.so
          pickup     0 [000]     0.000000: PERF_RECORD_MMAP2 28218/28218: [0xffffaee66000(0x180000) @ 0 00:26 976359 625769152]: r-xp /usr/lib64/libstdc++.so.6.0.24
          pickup     0 [000]     0.000000: PERF_RECORD_MMAP2 28218/28218: [0xffffaf02c000(0x16e000) @ 0 00:26 150445 625769152]: r-xp /usr/lib64/libicuuc.so.52.1
          pickup     0 [000]     0.000000: PERF_RECORD_MMAP2 28218/28218: [0xffffaf1c1000(0x3000) @ 0 00:26 930995 625769152]: r-xp /lib64/libdl-2.22.so
          pickup     0 [000]     0.000000: PERF_RECORD_MMAP2 28218/28218: [0xffffaf1e2000(0x15000) @ 0 00:26 930999 625769152]: r-xp /lib64/libnsl-2.22.so
          pickup     0 [000]     0.000000: PERF_RECORD_MMAP2 28218/28218: [0xffffaf215000(0x156000) @ 0 00:26 123918 625769152]: r-xp /usr/lib64/libdb-4.8.so
          pickup     0 [000]     0.000000: PERF_RECORD_MMAP2 28218/28218: [0xffffaf388000(0x149000) @ 0 00:26 930989 625769152]: r-xp /lib64/libc-2.22.so
          pickup     0 [000]     0.000000: PERF_RECORD_MMAP2 28218/28218: [0xffffaf4ee000(0x18000) @ 0 00:26 931017 625769152]: r-xp /lib64/libpthread-2.22.so
          pickup     0 [000]     0.000000: PERF_RECORD_MMAP2 28218/28218: [0xffffaf523000(0x41000) @ 0 00:26 171685 625769152]: r-xp /usr/lib/postfix/libpostfix-util.so
          pickup     0 [000]     0.000000: PERF_RECORD_MMAP2 28218/28218: [0xffffaf586000(0x43000) @ 0 00:26 171682 625769152]: r-xp /usr/lib/postfix/libpostfix-global.so
          pickup     0 [000]     0.000000: PERF_RECORD_MMAP2 28218/28218: [0xffffaf5e8000(0xa000) @ 0 00:26 171683 625769152]: r-xp /usr/lib/postfix/libpostfix-master.so
          pickup     0 [000]     0.000000: PERF_RECORD_MMAP2 28218/28218: [0xffffaf609000(0x1e000) @ 0 00:26 930982 625769152]: r-xp /lib64/ld-2.22.so
          pickup     0 [000]     0.000000: PERF_RECORD_MMAP2 28218/28218: [0xffffaf637000(0x1000) @ 0 00:00 0 625769152]: r-xp [vdso]
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 32376/32376: [0xaaaaea4f7000(0xd6000) @ 0 00:26 961857 625769152]: r-xp /usr/sbin/sshd
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 32376/32376: [0xffff91cda000(0x1000) @ 0 00:26 931098 625769152]: r-xp /lib64/security/pam_deny.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 32376/32376: [0xffff91cfb000(0x1000) @ 0 00:26 931134 625769152]: r-xp /lib64/security/pam_warn.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 32376/32376: [0xffff91d1c000(0x3000) @ 0 00:26 931109 625769152]: r-xp /lib64/security/pam_lastlog.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 32376/32376: [0xffff91d3d000(0x5000) @ 0 00:26 123300 625769152]: r-xp /lib64/libattr.so.1.1.0
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 32376/32376: [0xffff91d5e000(0x3000) @ 0 00:26 931092 625769152]: r-xp /lib64/libpam_misc.so.0.82.1
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 32376/32376: [0xffff91d7f000(0x2c000) @ 0 00:26 122824 625769152]: r-xp /usr/lib64/libseccomp.so.2.3.1
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 32376/32376: [0xffff91dd0000(0x8000) @ 0 00:26 123721 625769152]: r-xp /lib64/libacl.so.1.1.0
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 32376/32376: [0xffff91df1000(0x13000) @ 0 00:26 123088 625769152]: r-xp /usr/lib64/libgpg-error.so.0.22.0
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 32376/32376: [0xffff91e22000(0x9e000) @ 0 00:26 653339 625769152]: r-xp /usr/lib64/libgcrypt.so.20.0.1
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 32376/32376: [0xffff91ed6000(0x24000) @ 0 00:26 123031 625769152]: r-xp /usr/lib64/liblzma.so.5.2.2
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 32376/32376: [0xffff91f17000(0x99000) @ 0 00:26 930997 625769152]: r-xp /lib64/libm-2.22.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 32376/32376: [0xffff91fc8000(0x6000) @ 0 00:26 931021 625769152]: r-xp /lib64/librt-2.22.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 32376/32376: [0xffff91fe9000(0x4000) @ 0 00:26 123263 625769152]: r-xp /lib64/libcap.so.2.22
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 32376/32376: [0xffff9200a000(0x49000) @ 0 00:26 996107 625769152]: r-xp /lib64/security/pam_systemd.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 32376/32376: [0xffff9206b000(0x2000) @ 0 00:26 931133 625769152]: r-xp /lib64/security/pam_umask.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 32376/32376: [0xffff9208c000(0x4000) @ 0 00:26 931110 625769152]: r-xp /lib64/security/pam_limits.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 32376/32376: [0xffff920ad000(0x2000) @ 0 00:26 931113 625769152]: r-xp /lib64/security/pam_loginuid.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 32376/32376: [0xffff920ce000(0x9000) @ 0 00:26 133221 625769152]: r-xp /usr/lib64/libcrack.so.2.9.0
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 32376/32376: [0xffff920f3000(0x3000) @ 0 00:26 931096 625769152]: r-xp /lib64/security/pam_cracklib.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 32376/32376: [0xffff92114000(0xc000) @ 0 00:26 931273 625769152]: r-xp /lib64/security/pam_unix.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 32376/32376: [0xffff92141000(0x3000) @ 0 00:26 931100 625769152]: r-xp /lib64/security/pam_env.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 32376/32376: [0xffff92172000(0x2000) @ 0 00:26 931118 625769152]: r-xp /lib64/security/pam_nologin.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 32376/32376: [0xffff921a3000(0xb000) @ 0 00:26 931007 625769152]: r-xp /lib64/libnss_files-2.22.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 32376/32376: [0xffff921ca000(0xa000) @ 0 00:26 931011 625769152]: r-xp /lib64/libnss_nis-2.22.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 32376/32376: [0xffff921eb000(0x15000) @ 0 00:26 930999 625769152]: r-xp /lib64/libnsl-2.22.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 32376/32376: [0xffff9221e000(0x7000) @ 0 00:26 931001 625769152]: r-xp /lib64/libnss_compat-2.22.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 32376/32376: [0xffff92243000(0x18000) @ 0 00:26 931017 625769152]: r-xp /lib64/libpthread-2.22.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 32376/32376: [0xffff92278000(0x13000) @ 0 00:26 931019 625769152]: r-xp /lib64/libresolv-2.22.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 32376/32376: [0xffff922ab000(0x3000) @ 0 00:26 123051 625769152]: r-xp /lib64/libkeyutils.so.1.5
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 32376/32376: [0xffff922cd000(0xd000) @ 0 00:26 653324 625769152]: r-xp /usr/lib64/libkrb5support.so.0.1
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 32376/32376: [0xffff922ee000(0x2e000) @ 0 00:26 653312 625769152]: r-xp /usr/lib64/libk5crypto.so.3.1
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 32376/32376: [0xffff92330000(0x3b000) @ 0 00:26 587843 625769152]: r-xp /usr/lib64/libpcre.so.1.2.7
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 32376/32376: [0xffff92382000(0x3000) @ 0 00:26 930995 625769152]: r-xp /lib64/libdl-2.22.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 32376/32376: [0xffff923a3000(0x149000) @ 0 00:26 930989 625769152]: r-xp /lib64/libc-2.22.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 32376/32376: [0xffff92509000(0x3000) @ 0 00:26 123247 625769152]: r-xp /usr/lib64/libcom_err.so.2.1
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 32376/32376: [0xffff9252b000(0xc0000) @ 0 00:26 653322 625769152]: r-xp /usr/lib64/libkrb5.so.3.3
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 32376/32376: [0xffff9260e000(0x43000) @ 0 00:26 653308 625769152]: r-xp /usr/lib64/libgssapi_krb5.so.2.2
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 32376/32376: [0xffff92670000(0xb000) @ 0 00:26 930993 625769152]: r-xp /lib64/libcrypt-2.22.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 32376/32376: [0xffff926bf000(0x14000) @ 0 00:26 122708 625769152]: r-xp /lib64/libz.so.1.2.8
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 32376/32376: [0xffff926f0000(0x2000) @ 0 00:26 931025 625769152]: r-xp /lib64/libutil-2.22.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 32376/32376: [0xffff92711000(0x1b6000) @ 0 00:26 931332 625769152]: r-xp /lib64/libcrypto.so.1.0.0
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 32376/32376: [0xffff92902000(0x24000) @ 0 00:26 123567 625769152]: r-xp /lib64/libselinux.so.1
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 32376/32376: [0xffff92945000(0xe000) @ 0 00:26 931090 625769152]: r-xp /lib64/libpam.so.0.84.2
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 32376/32376: [0xffff92966000(0x17000) @ 0 00:26 587830 625769152]: r-xp /usr/lib64/libaudit.so.1.0.0
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 32376/32376: [0xffff929a1000(0x1e000) @ 0 00:26 930982 625769152]: r-xp /lib64/ld-2.22.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 32376/32376: [0xffff929cf000(0x1000) @ 0 00:00 0 625769152]: r-xp [vdso]
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 32378/32378: [0xaaaaea4f7000(0xd6000) @ 0 00:26 961857 625769152]: r-xp /usr/sbin/sshd
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 32378/32378: [0xffff91cda000(0x1000) @ 0 00:26 931098 625769152]: r-xp /lib64/security/pam_deny.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 32378/32378: [0xffff91cfb000(0x1000) @ 0 00:26 931134 625769152]: r-xp /lib64/security/pam_warn.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 32378/32378: [0xffff91d1c000(0x3000) @ 0 00:26 931109 625769152]: r-xp /lib64/security/pam_lastlog.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 32378/32378: [0xffff91d3d000(0x5000) @ 0 00:26 123300 625769152]: r-xp /lib64/libattr.so.1.1.0
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 32378/32378: [0xffff91d5e000(0x3000) @ 0 00:26 931092 625769152]: r-xp /lib64/libpam_misc.so.0.82.1
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 32378/32378: [0xffff91d7f000(0x2c000) @ 0 00:26 122824 625769152]: r-xp /usr/lib64/libseccomp.so.2.3.1
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 32378/32378: [0xffff91dd0000(0x8000) @ 0 00:26 123721 625769152]: r-xp /lib64/libacl.so.1.1.0
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 32378/32378: [0xffff91df1000(0x13000) @ 0 00:26 123088 625769152]: r-xp /usr/lib64/libgpg-error.so.0.22.0
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 32378/32378: [0xffff91e22000(0x9e000) @ 0 00:26 653339 625769152]: r-xp /usr/lib64/libgcrypt.so.20.0.1
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 32378/32378: [0xffff91ed6000(0x24000) @ 0 00:26 123031 625769152]: r-xp /usr/lib64/liblzma.so.5.2.2
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 32378/32378: [0xffff91f17000(0x99000) @ 0 00:26 930997 625769152]: r-xp /lib64/libm-2.22.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 32378/32378: [0xffff91fc8000(0x6000) @ 0 00:26 931021 625769152]: r-xp /lib64/librt-2.22.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 32378/32378: [0xffff91fe9000(0x4000) @ 0 00:26 123263 625769152]: r-xp /lib64/libcap.so.2.22
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 32378/32378: [0xffff9200a000(0x49000) @ 0 00:26 996107 625769152]: r-xp /lib64/security/pam_systemd.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 32378/32378: [0xffff9206b000(0x2000) @ 0 00:26 931133 625769152]: r-xp /lib64/security/pam_umask.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 32378/32378: [0xffff9208c000(0x4000) @ 0 00:26 931110 625769152]: r-xp /lib64/security/pam_limits.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 32378/32378: [0xffff920ad000(0x2000) @ 0 00:26 931113 625769152]: r-xp /lib64/security/pam_loginuid.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 32378/32378: [0xffff920ce000(0x9000) @ 0 00:26 133221 625769152]: r-xp /usr/lib64/libcrack.so.2.9.0
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 32378/32378: [0xffff920f3000(0x3000) @ 0 00:26 931096 625769152]: r-xp /lib64/security/pam_cracklib.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 32378/32378: [0xffff92114000(0xc000) @ 0 00:26 931273 625769152]: r-xp /lib64/security/pam_unix.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 32378/32378: [0xffff92141000(0x3000) @ 0 00:26 931100 625769152]: r-xp /lib64/security/pam_env.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 32378/32378: [0xffff92172000(0x2000) @ 0 00:26 931118 625769152]: r-xp /lib64/security/pam_nologin.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 32378/32378: [0xffff921a3000(0xb000) @ 0 00:26 931007 625769152]: r-xp /lib64/libnss_files-2.22.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 32378/32378: [0xffff921ca000(0xa000) @ 0 00:26 931011 625769152]: r-xp /lib64/libnss_nis-2.22.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 32378/32378: [0xffff921eb000(0x15000) @ 0 00:26 930999 625769152]: r-xp /lib64/libnsl-2.22.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 32378/32378: [0xffff9221e000(0x7000) @ 0 00:26 931001 625769152]: r-xp /lib64/libnss_compat-2.22.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 32378/32378: [0xffff92243000(0x18000) @ 0 00:26 931017 625769152]: r-xp /lib64/libpthread-2.22.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 32378/32378: [0xffff92278000(0x13000) @ 0 00:26 931019 625769152]: r-xp /lib64/libresolv-2.22.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 32378/32378: [0xffff922ab000(0x3000) @ 0 00:26 123051 625769152]: r-xp /lib64/libkeyutils.so.1.5
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 32378/32378: [0xffff922cd000(0xd000) @ 0 00:26 653324 625769152]: r-xp /usr/lib64/libkrb5support.so.0.1
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 32378/32378: [0xffff922ee000(0x2e000) @ 0 00:26 653312 625769152]: r-xp /usr/lib64/libk5crypto.so.3.1
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 32378/32378: [0xffff92330000(0x3b000) @ 0 00:26 587843 625769152]: r-xp /usr/lib64/libpcre.so.1.2.7
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 32378/32378: [0xffff92382000(0x3000) @ 0 00:26 930995 625769152]: r-xp /lib64/libdl-2.22.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 32378/32378: [0xffff923a3000(0x149000) @ 0 00:26 930989 625769152]: r-xp /lib64/libc-2.22.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 32378/32378: [0xffff92509000(0x3000) @ 0 00:26 123247 625769152]: r-xp /usr/lib64/libcom_err.so.2.1
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 32378/32378: [0xffff9252b000(0xc0000) @ 0 00:26 653322 625769152]: r-xp /usr/lib64/libkrb5.so.3.3
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 32378/32378: [0xffff9260e000(0x43000) @ 0 00:26 653308 625769152]: r-xp /usr/lib64/libgssapi_krb5.so.2.2
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 32378/32378: [0xffff92670000(0xb000) @ 0 00:26 930993 625769152]: r-xp /lib64/libcrypt-2.22.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 32378/32378: [0xffff926bf000(0x14000) @ 0 00:26 122708 625769152]: r-xp /lib64/libz.so.1.2.8
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 32378/32378: [0xffff926f0000(0x2000) @ 0 00:26 931025 625769152]: r-xp /lib64/libutil-2.22.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 32378/32378: [0xffff92711000(0x1b6000) @ 0 00:26 931332 625769152]: r-xp /lib64/libcrypto.so.1.0.0
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 32378/32378: [0xffff92902000(0x24000) @ 0 00:26 123567 625769152]: r-xp /lib64/libselinux.so.1
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 32378/32378: [0xffff92945000(0xe000) @ 0 00:26 931090 625769152]: r-xp /lib64/libpam.so.0.84.2
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 32378/32378: [0xffff92966000(0x17000) @ 0 00:26 587830 625769152]: r-xp /usr/lib64/libaudit.so.1.0.0
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 32378/32378: [0xffff929a1000(0x1e000) @ 0 00:26 930982 625769152]: r-xp /lib64/ld-2.22.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 32378/32378: [0xffff929cf000(0x1000) @ 0 00:00 0 625769152]: r-xp [vdso]
            bash     0 [000]     0.000000: PERF_RECORD_MMAP2 32379/32379: [0x400000(0xaf000) @ 0 00:26 129038 625769152]: r-xp /bin/bash
            bash     0 [000]     0.000000: PERF_RECORD_MMAP2 32379/32379: [0xffffa179d000(0xb000) @ 0 00:26 931007 625769152]: r-xp /lib64/libnss_files-2.22.so
            bash     0 [000]     0.000000: PERF_RECORD_MMAP2 32379/32379: [0xffffa17c4000(0xa000) @ 0 00:26 931011 625769152]: r-xp /lib64/libnss_nis-2.22.so
            bash     0 [000]     0.000000: PERF_RECORD_MMAP2 32379/32379: [0xffffa17e5000(0x15000) @ 0 00:26 930999 625769152]: r-xp /lib64/libnsl-2.22.so
            bash     0 [000]     0.000000: PERF_RECORD_MMAP2 32379/32379: [0xffffa1818000(0x7000) @ 0 00:26 931001 625769152]: r-xp /lib64/libnss_compat-2.22.so
            bash     0 [000]     0.000000: PERF_RECORD_MMAP2 32379/32379: [0xffffa19be000(0x149000) @ 0 00:26 930989 625769152]: r-xp /lib64/libc-2.22.so
            bash     0 [000]     0.000000: PERF_RECORD_MMAP2 32379/32379: [0xffffa1b24000(0x3000) @ 0 00:26 930995 625769152]: r-xp /lib64/libdl-2.22.so
            bash     0 [000]     0.000000: PERF_RECORD_MMAP2 32379/32379: [0xffffa1b45000(0x2c000) @ 0 00:26 996745 625769152]: r-xp /lib64/libtinfo.so.5.9
            bash     0 [000]     0.000000: PERF_RECORD_MMAP2 32379/32379: [0xffffa1b8b000(0x44000) @ 0 00:26 128536 625769152]: r-xp /lib64/libreadline.so.6.3
            bash     0 [000]     0.000000: PERF_RECORD_MMAP2 32379/32379: [0xffffa1bf3000(0x1e000) @ 0 00:26 930982 625769152]: r-xp /lib64/ld-2.22.so
            bash     0 [000]     0.000000: PERF_RECORD_MMAP2 32379/32379: [0xffffa1c21000(0x1000) @ 0 00:00 0 625769152]: r-xp [vdso]
 systemd-journal     0 [000]     0.000000: PERF_RECORD_MMAP2 391/391: [0xaaaacdeb0000(0x55000) @ 0 00:26 996396 625769152]: r-xp /usr/lib/systemd/systemd-journald
 systemd-journal     0 [000]     0.000000: PERF_RECORD_MMAP2 391/391: [0xffffa365c000(0x5000) @ 0 00:26 123300 625769152]: r-xp /lib64/libattr.so.1.1.0
 systemd-journal     0 [000]     0.000000: PERF_RECORD_MMAP2 391/391: [0xffffa367d000(0x13000) @ 0 00:26 123088 625769152]: r-xp /usr/lib64/libgpg-error.so.0.22.0
 systemd-journal     0 [000]     0.000000: PERF_RECORD_MMAP2 391/391: [0xffffa36af000(0x3000) @ 0 00:26 930995 625769152]: r-xp /lib64/libdl-2.22.so
 systemd-journal     0 [000]     0.000000: PERF_RECORD_MMAP2 391/391: [0xffffa36d0000(0x3b000) @ 0 00:26 587843 625769152]: r-xp /usr/lib64/libpcre.so.1.2.7
 systemd-journal     0 [000]     0.000000: PERF_RECORD_MMAP2 391/391: [0xffffa3721000(0x149000) @ 0 00:26 930989 625769152]: r-xp /lib64/libc-2.22.so
 systemd-journal     0 [000]     0.000000: PERF_RECORD_MMAP2 391/391: [0xffffa3887000(0x18000) @ 0 00:26 931017 625769152]: r-xp /lib64/libpthread-2.22.so
 systemd-journal     0 [000]     0.000000: PERF_RECORD_MMAP2 391/391: [0xffffa38bc000(0x8000) @ 0 00:26 123721 625769152]: r-xp /lib64/libacl.so.1.1.0
 systemd-journal     0 [000]     0.000000: PERF_RECORD_MMAP2 391/391: [0xffffa38dd000(0x9e000) @ 0 00:26 653339 625769152]: r-xp /usr/lib64/libgcrypt.so.20.0.1
 systemd-journal     0 [000]     0.000000: PERF_RECORD_MMAP2 391/391: [0xffffa3991000(0x24000) @ 0 00:26 123031 625769152]: r-xp /usr/lib64/liblzma.so.5.2.2
 systemd-journal     0 [000]     0.000000: PERF_RECORD_MMAP2 391/391: [0xffffa39d2000(0x6000) @ 0 00:26 931021 625769152]: r-xp /lib64/librt-2.22.so
 systemd-journal     0 [000]     0.000000: PERF_RECORD_MMAP2 391/391: [0xffffa39f3000(0x24000) @ 0 00:26 123567 625769152]: r-xp /lib64/libselinux.so.1
 systemd-journal     0 [000]     0.000000: PERF_RECORD_MMAP2 391/391: [0xffffa3a36000(0x1e000) @ 0 00:26 930982 625769152]: r-xp /lib64/ld-2.22.so
 systemd-journal     0 [000]     0.000000: PERF_RECORD_MMAP2 391/391: [0xffffa3a64000(0x1000) @ 0 00:00 0 625769152]: r-xp [vdso]
   systemd-udevd     0 [000]     0.000000: PERF_RECORD_MMAP2 419/419: [0xaaaad6f1d000(0x6f000) @ 0 00:26 1003638 625769152]: r-xp /usr/lib/systemd/systemd-udevd
   systemd-udevd     0 [000]     0.000000: PERF_RECORD_MMAP2 419/419: [0xffffb08ac000(0xb000) @ 0 00:26 931007 625769152]: r-xp /lib64/libnss_files-2.22.so
   systemd-udevd     0 [000]     0.000000: PERF_RECORD_MMAP2 419/419: [0xffffb08d3000(0xa000) @ 0 00:26 931011 625769152]: r-xp /lib64/libnss_nis-2.22.so
   systemd-udevd     0 [000]     0.000000: PERF_RECORD_MMAP2 419/419: [0xffffb08f4000(0x15000) @ 0 00:26 930999 625769152]: r-xp /lib64/libnsl-2.22.so
   systemd-udevd     0 [000]     0.000000: PERF_RECORD_MMAP2 419/419: [0xffffb0927000(0x7000) @ 0 00:26 931001 625769152]: r-xp /lib64/libnss_compat-2.22.so
   systemd-udevd     0 [000]     0.000000: PERF_RECORD_MMAP2 419/419: [0xffffb1011000(0x4000) @ 0 00:26 931300 625769152]: r-xp /usr/lib64/libuuid.so.1.3.0
   systemd-udevd     0 [000]     0.000000: PERF_RECORD_MMAP2 419/419: [0xffffb1032000(0x5000) @ 0 00:26 123300 625769152]: r-xp /lib64/libattr.so.1.1.0
   systemd-udevd     0 [000]     0.000000: PERF_RECORD_MMAP2 419/419: [0xffffb1054000(0x3000) @ 0 00:26 930995 625769152]: r-xp /lib64/libdl-2.22.so
   systemd-udevd     0 [000]     0.000000: PERF_RECORD_MMAP2 419/419: [0xffffb1075000(0x3b000) @ 0 00:26 587843 625769152]: r-xp /usr/lib64/libpcre.so.1.2.7
   systemd-udevd     0 [000]     0.000000: PERF_RECORD_MMAP2 419/419: [0xffffb10c6000(0x149000) @ 0 00:26 930989 625769152]: r-xp /lib64/libc-2.22.so
   systemd-udevd     0 [000]     0.000000: PERF_RECORD_MMAP2 419/419: [0xffffb122c000(0x18000) @ 0 00:26 931017 625769152]: r-xp /lib64/libpthread-2.22.so
   systemd-udevd     0 [000]     0.000000: PERF_RECORD_MMAP2 419/419: [0xffffb1261000(0x14000) @ 0 00:26 931353 625769152]: r-xp /usr/lib64/libkmod.so.2.2.7
   systemd-udevd     0 [000]     0.000000: PERF_RECORD_MMAP2 419/419: [0xffffb1292000(0x40000) @ 0 00:26 948512 625769152]: r-xp /usr/lib64/libblkid.so.1.1.0
   systemd-udevd     0 [000]     0.000000: PERF_RECORD_MMAP2 419/419: [0xffffb12f4000(0x8000) @ 0 00:26 123721 625769152]: r-xp /lib64/libacl.so.1.1.0
   systemd-udevd     0 [000]     0.000000: PERF_RECORD_MMAP2 419/419: [0xffffb1315000(0x6000) @ 0 00:26 931021 625769152]: r-xp /lib64/librt-2.22.so
   systemd-udevd     0 [000]     0.000000: PERF_RECORD_MMAP2 419/419: [0xffffb1336000(0x24000) @ 0 00:26 123567 625769152]: r-xp /lib64/libselinux.so.1
   systemd-udevd     0 [000]     0.000000: PERF_RECORD_MMAP2 419/419: [0xffffb1379000(0x1e000) @ 0 00:26 930982 625769152]: r-xp /lib64/ld-2.22.so
   systemd-udevd     0 [000]     0.000000: PERF_RECORD_MMAP2 419/419: [0xffffb13a7000(0x1000) @ 0 00:00 0 625769152]: r-xp [vdso]
          auditd     0 [000]     0.000000: PERF_RECORD_MMAP2 510/510: [0xaaaaafcaf000(0x1e000) @ 0 00:26 612246 625769152]: r-xp /usr/sbin/auditd
          auditd     0 [000]     0.000000: PERF_RECORD_MMAP2 510/510: [0xffffbbe60000(0xb000) @ 0 00:26 931007 625769152]: r-xp /lib64/libnss_files-2.22.so
          auditd     0 [000]     0.000000: PERF_RECORD_MMAP2 510/510: [0xffffbbe87000(0xa000) @ 0 00:26 931011 625769152]: r-xp /lib64/libnss_nis-2.22.so
          auditd     0 [000]     0.000000: PERF_RECORD_MMAP2 510/510: [0xffffbbea8000(0x15000) @ 0 00:26 930999 625769152]: r-xp /lib64/libnsl-2.22.so
          auditd     0 [000]     0.000000: PERF_RECORD_MMAP2 510/510: [0xffffbbedb000(0x7000) @ 0 00:26 931001 625769152]: r-xp /lib64/libnss_compat-2.22.so
          auditd     0 [000]     0.000000: PERF_RECORD_MMAP2 510/510: [0xffffbbf08000(0x149000) @ 0 00:26 930989 625769152]: r-xp /lib64/libc-2.22.so
          auditd     0 [000]     0.000000: PERF_RECORD_MMAP2 510/510: [0xffffbc06e000(0x18000) @ 0 00:26 931017 625769152]: r-xp /lib64/libpthread-2.22.so
          auditd     0 [000]     0.000000: PERF_RECORD_MMAP2 510/510: [0xffffbc0a3000(0xa000) @ 0 00:26 122724 625769152]: r-xp /lib64/libwrap.so.0.7.6
          auditd     0 [000]     0.000000: PERF_RECORD_MMAP2 510/510: [0xffffbc0c5000(0x1e000) @ 0 00:26 930982 625769152]: r-xp /lib64/ld-2.22.so
          auditd     0 [000]     0.000000: PERF_RECORD_MMAP2 510/510: [0xffffbc0f3000(0x1000) @ 0 00:00 0 625769152]: r-xp [vdso]
     dbus-daemon     0 [000]     0.000000: PERF_RECORD_MMAP2 525/525: [0xaaaadff83000(0x6a000) @ 0 00:26 155405 625769152]: r-xp /bin/dbus-daemon
     dbus-daemon     0 [000]     0.000000: PERF_RECORD_MMAP2 525/525: [0xffffbd9e7000(0xb000) @ 0 00:26 931007 625769152]: r-xp /lib64/libnss_files-2.22.so
     dbus-daemon     0 [000]     0.000000: PERF_RECORD_MMAP2 525/525: [0xffffbda0e000(0xa000) @ 0 00:26 931011 625769152]: r-xp /lib64/libnss_nis-2.22.so
     dbus-daemon     0 [000]     0.000000: PERF_RECORD_MMAP2 525/525: [0xffffbda2f000(0x15000) @ 0 00:26 930999 625769152]: r-xp /lib64/libnsl-2.22.so
     dbus-daemon     0 [000]     0.000000: PERF_RECORD_MMAP2 525/525: [0xffffbda62000(0x7000) @ 0 00:26 931001 625769152]: r-xp /lib64/libnss_compat-2.22.so
     dbus-daemon     0 [000]     0.000000: PERF_RECORD_MMAP2 525/525: [0xffffbda86000(0x3b000) @ 0 00:26 587843 625769152]: r-xp /usr/lib64/libpcre.so.1.2.7
     dbus-daemon     0 [000]     0.000000: PERF_RECORD_MMAP2 525/525: [0xffffbdad8000(0x13000) @ 0 00:26 123088 625769152]: r-xp /usr/lib64/libgpg-error.so.0.22.0
     dbus-daemon     0 [000]     0.000000: PERF_RECORD_MMAP2 525/525: [0xffffbdb09000(0x3000) @ 0 00:26 930995 625769152]: r-xp /lib64/libdl-2.22.so
     dbus-daemon     0 [000]     0.000000: PERF_RECORD_MMAP2 525/525: [0xffffbdb2a000(0x9e000) @ 0 00:26 653339 625769152]: r-xp /usr/lib64/libgcrypt.so.20.0.1
     dbus-daemon     0 [000]     0.000000: PERF_RECORD_MMAP2 525/525: [0xffffbdbdf000(0x24000) @ 0 00:26 123031 625769152]: r-xp /usr/lib64/liblzma.so.5.2.2
     dbus-daemon     0 [000]     0.000000: PERF_RECORD_MMAP2 525/525: [0xffffbdc20000(0x13000) @ 0 00:26 931019 625769152]: r-xp /lib64/libresolv-2.22.so
     dbus-daemon     0 [000]     0.000000: PERF_RECORD_MMAP2 525/525: [0xffffbdc53000(0x99000) @ 0 00:26 930997 625769152]: r-xp /lib64/libm-2.22.so
     dbus-daemon     0 [000]     0.000000: PERF_RECORD_MMAP2 525/525: [0xffffbdd05000(0x6000) @ 0 00:26 931021 625769152]: r-xp /lib64/librt-2.22.so
     dbus-daemon     0 [000]     0.000000: PERF_RECORD_MMAP2 525/525: [0xffffbdd26000(0x4000) @ 0 00:26 123263 625769152]: r-xp /lib64/libcap.so.2.22
     dbus-daemon     0 [000]     0.000000: PERF_RECORD_MMAP2 525/525: [0xffffbdd47000(0x149000) @ 0 00:26 930989 625769152]: r-xp /lib64/libc-2.22.so
     dbus-daemon     0 [000]     0.000000: PERF_RECORD_MMAP2 525/525: [0xffffbdead000(0x18000) @ 0 00:26 931017 625769152]: r-xp /lib64/libpthread-2.22.so
     dbus-daemon     0 [000]     0.000000: PERF_RECORD_MMAP2 525/525: [0xffffbdee2000(0x4000) @ 0 00:26 123269 625769152]: r-xp /usr/lib64/libcap-ng.so.0.0.0
     dbus-daemon     0 [000]     0.000000: PERF_RECORD_MMAP2 525/525: [0xffffbdf03000(0x17000) @ 0 00:26 587830 625769152]: r-xp /usr/lib64/libaudit.so.1.0.0
     dbus-daemon     0 [000]     0.000000: PERF_RECORD_MMAP2 525/525: [0xffffbdf3e000(0x24000) @ 0 00:26 123567 625769152]: r-xp /lib64/libselinux.so.1
     dbus-daemon     0 [000]     0.000000: PERF_RECORD_MMAP2 525/525: [0xffffbdf81000(0x22000) @ 0 00:26 127974 625769152]: r-xp /usr/lib64/libexpat.so.1.6.0
     dbus-daemon     0 [000]     0.000000: PERF_RECORD_MMAP2 525/525: [0xffffbdfc2000(0x83000) @ 0 00:26 978691 625769152]: r-xp /usr/lib64/libsystemd.so.0.13.0
     dbus-daemon     0 [000]     0.000000: PERF_RECORD_MMAP2 525/525: [0xffffbe063000(0x1e000) @ 0 00:26 930982 625769152]: r-xp /lib64/ld-2.22.so
     dbus-daemon     0 [000]     0.000000: PERF_RECORD_MMAP2 525/525: [0xffffbe091000(0x1000) @ 0 00:00 0 625769152]: r-xp [vdso]
   wickedd-dhcp6     0 [000]     0.000000: PERF_RECORD_MMAP2 526/526: [0x400000(0x7000) @ 0 00:26 961909 625769152]: r-xp /usr/lib/wicked/bin/wickedd-dhcp6
   wickedd-dhcp6     0 [000]     0.000000: PERF_RECORD_MMAP2 526/526: [0xffff89304000(0x13000) @ 0 00:26 123088 625769152]: r-xp /usr/lib64/libgpg-error.so.0.22.0
   wickedd-dhcp6     0 [000]     0.000000: PERF_RECORD_MMAP2 526/526: [0xffff89335000(0x99000) @ 0 00:26 930997 625769152]: r-xp /lib64/libm-2.22.so
   wickedd-dhcp6     0 [000]     0.000000: PERF_RECORD_MMAP2 526/526: [0xffff893e7000(0x18000) @ 0 00:26 931017 625769152]: r-xp /lib64/libpthread-2.22.so
   wickedd-dhcp6     0 [000]     0.000000: PERF_RECORD_MMAP2 526/526: [0xffff8941c000(0x3000) @ 0 00:26 930995 625769152]: r-xp /lib64/libdl-2.22.so
   wickedd-dhcp6     0 [000]     0.000000: PERF_RECORD_MMAP2 526/526: [0xffff8943d000(0x9e000) @ 0 00:26 653339 625769152]: r-xp /usr/lib64/libgcrypt.so.20.0.1
   wickedd-dhcp6     0 [000]     0.000000: PERF_RECORD_MMAP2 526/526: [0xffff894f1000(0x3000) @ 0 00:26 930987 625769152]: r-xp /lib64/libanl-2.22.so
   wickedd-dhcp6     0 [000]     0.000000: PERF_RECORD_MMAP2 526/526: [0xffff89512000(0x1d000) @ 0 00:26 122966 625769152]: r-xp /usr/lib64/libnl-3.so.200.18.0
   wickedd-dhcp6     0 [000]     0.000000: PERF_RECORD_MMAP2 526/526: [0xffff89543000(0x4e000) @ 0 00:26 122976 625769152]: r-xp /usr/lib64/libnl-route-3.so.200.18.0
   wickedd-dhcp6     0 [000]     0.000000: PERF_RECORD_MMAP2 526/526: [0xffff895a8000(0x149000) @ 0 00:26 930989 625769152]: r-xp /lib64/libc-2.22.so
   wickedd-dhcp6     0 [000]     0.000000: PERF_RECORD_MMAP2 526/526: [0xffff8970e000(0x49000) @ 0 00:26 123219 625769152]: r-xp /lib64/libdbus-1.so.3.8.14
   wickedd-dhcp6     0 [000]     0.000000: PERF_RECORD_MMAP2 526/526: [0xffff8976f000(0x15d000) @ 0 00:26 931286 625769152]: r-xp /usr/lib64/libwicked-0.so.6.40.0
   wickedd-dhcp6     0 [000]     0.000000: PERF_RECORD_MMAP2 526/526: [0xffff89910000(0x1e000) @ 0 00:26 930982 625769152]: r-xp /lib64/ld-2.22.so
   wickedd-dhcp6     0 [000]     0.000000: PERF_RECORD_MMAP2 526/526: [0xffff8993e000(0x1000) @ 0 00:00 0 625769152]: r-xp [vdso]
   wickedd-auto4     0 [000]     0.000000: PERF_RECORD_MMAP2 527/527: [0x400000(0x8000) @ 0 00:26 961905 625769152]: r-xp /usr/lib/wicked/bin/wickedd-auto4
   wickedd-auto4     0 [000]     0.000000: PERF_RECORD_MMAP2 527/527: [0xffffb3455000(0x13000) @ 0 00:26 123088 625769152]: r-xp /usr/lib64/libgpg-error.so.0.22.0
   wickedd-auto4     0 [000]     0.000000: PERF_RECORD_MMAP2 527/527: [0xffffb3486000(0x99000) @ 0 00:26 930997 625769152]: r-xp /lib64/libm-2.22.so
   wickedd-auto4     0 [000]     0.000000: PERF_RECORD_MMAP2 527/527: [0xffffb3538000(0x18000) @ 0 00:26 931017 625769152]: r-xp /lib64/libpthread-2.22.so
   wickedd-auto4     0 [000]     0.000000: PERF_RECORD_MMAP2 527/527: [0xffffb356d000(0x3000) @ 0 00:26 930995 625769152]: r-xp /lib64/libdl-2.22.so
   wickedd-auto4     0 [000]     0.000000: PERF_RECORD_MMAP2 527/527: [0xffffb358e000(0x9e000) @ 0 00:26 653339 625769152]: r-xp /usr/lib64/libgcrypt.so.20.0.1
   wickedd-auto4     0 [000]     0.000000: PERF_RECORD_MMAP2 527/527: [0xffffb3642000(0x3000) @ 0 00:26 930987 625769152]: r-xp /lib64/libanl-2.22.so
   wickedd-auto4     0 [000]     0.000000: PERF_RECORD_MMAP2 527/527: [0xffffb3663000(0x1d000) @ 0 00:26 122966 625769152]: r-xp /usr/lib64/libnl-3.so.200.18.0
   wickedd-auto4     0 [000]     0.000000: PERF_RECORD_MMAP2 527/527: [0xffffb3694000(0x4e000) @ 0 00:26 122976 625769152]: r-xp /usr/lib64/libnl-route-3.so.200.18.0
   wickedd-auto4     0 [000]     0.000000: PERF_RECORD_MMAP2 527/527: [0xffffb36f9000(0x149000) @ 0 00:26 930989 625769152]: r-xp /lib64/libc-2.22.so
   wickedd-auto4     0 [000]     0.000000: PERF_RECORD_MMAP2 527/527: [0xffffb385f000(0x49000) @ 0 00:26 123219 625769152]: r-xp /lib64/libdbus-1.so.3.8.14
   wickedd-auto4     0 [000]     0.000000: PERF_RECORD_MMAP2 527/527: [0xffffb38c0000(0x15d000) @ 0 00:26 931286 625769152]: r-xp /usr/lib64/libwicked-0.so.6.40.0
   wickedd-auto4     0 [000]     0.000000: PERF_RECORD_MMAP2 527/527: [0xffffb3a61000(0x1e000) @ 0 00:26 930982 625769152]: r-xp /lib64/ld-2.22.so
   wickedd-auto4     0 [000]     0.000000: PERF_RECORD_MMAP2 527/527: [0xffffb3a8f000(0x1000) @ 0 00:00 0 625769152]: r-xp [vdso]
  systemd-logind     0 [000]     0.000000: PERF_RECORD_MMAP2 528/528: [0xaaaac933f000(0x99000) @ 0 00:26 996398 625769152]: r-xp /usr/lib/systemd/systemd-logind
  systemd-logind     0 [000]     0.000000: PERF_RECORD_MMAP2 528/528: [0xffffb7e34000(0xb000) @ 0 00:26 931007 625769152]: r-xp /lib64/libnss_files-2.22.so
  systemd-logind     0 [000]     0.000000: PERF_RECORD_MMAP2 528/528: [0xffffb7e5b000(0xa000) @ 0 00:26 931011 625769152]: r-xp /lib64/libnss_nis-2.22.so
  systemd-logind     0 [000]     0.000000: PERF_RECORD_MMAP2 528/528: [0xffffb7e7c000(0x15000) @ 0 00:26 930999 625769152]: r-xp /lib64/libnsl-2.22.so
  systemd-logind     0 [000]     0.000000: PERF_RECORD_MMAP2 528/528: [0xffffb7eaf000(0x7000) @ 0 00:26 931001 625769152]: r-xp /lib64/libnss_compat-2.22.so
  systemd-logind     0 [000]     0.000000: PERF_RECORD_MMAP2 528/528: [0xffffb7ed3000(0x5000) @ 0 00:26 123300 625769152]: r-xp /lib64/libattr.so.1.1.0
  systemd-logind     0 [000]     0.000000: PERF_RECORD_MMAP2 528/528: [0xffffb7ef4000(0x3000) @ 0 00:26 930995 625769152]: r-xp /lib64/libdl-2.22.so
  systemd-logind     0 [000]     0.000000: PERF_RECORD_MMAP2 528/528: [0xffffb7f15000(0x3b000) @ 0 00:26 587843 625769152]: r-xp /usr/lib64/libpcre.so.1.2.7
  systemd-logind     0 [000]     0.000000: PERF_RECORD_MMAP2 528/528: [0xffffb7f66000(0x149000) @ 0 00:26 930989 625769152]: r-xp /lib64/libc-2.22.so
  systemd-logind     0 [000]     0.000000: PERF_RECORD_MMAP2 528/528: [0xffffb80cc000(0x18000) @ 0 00:26 931017 625769152]: r-xp /lib64/libpthread-2.22.so
  systemd-logind     0 [000]     0.000000: PERF_RECORD_MMAP2 528/528: [0xffffb8101000(0x8000) @ 0 00:26 123721 625769152]: r-xp /lib64/libacl.so.1.1.0
  systemd-logind     0 [000]     0.000000: PERF_RECORD_MMAP2 528/528: [0xffffb8122000(0x6000) @ 0 00:26 931021 625769152]: r-xp /lib64/librt-2.22.so
  systemd-logind     0 [000]     0.000000: PERF_RECORD_MMAP2 528/528: [0xffffb8143000(0x4000) @ 0 00:26 123263 625769152]: r-xp /lib64/libcap.so.2.22
  systemd-logind     0 [000]     0.000000: PERF_RECORD_MMAP2 528/528: [0xffffb8164000(0x24000) @ 0 00:26 123567 625769152]: r-xp /lib64/libselinux.so.1
  systemd-logind     0 [000]     0.000000: PERF_RECORD_MMAP2 528/528: [0xffffb81a7000(0x1e000) @ 0 00:26 930982 625769152]: r-xp /lib64/ld-2.22.so
  systemd-logind     0 [000]     0.000000: PERF_RECORD_MMAP2 528/528: [0xffffb81d5000(0x1000) @ 0 00:00 0 625769152]: r-xp [vdso]
      irqbalance     0 [000]     0.000000: PERF_RECORD_MMAP2 529/529: [0xaaaabf1ca000(0xf000) @ 0 00:26 163540 625769152]: r-xp /usr/sbin/irqbalance
      irqbalance     0 [000]     0.000000: PERF_RECORD_MMAP2 529/529: [0xffffbd1dd000(0x18000) @ 0 00:26 931017 625769152]: r-xp /lib64/libpthread-2.22.so
      irqbalance     0 [000]     0.000000: PERF_RECORD_MMAP2 529/529: [0xffffbd212000(0x3b000) @ 0 00:26 587843 625769152]: r-xp /usr/lib64/libpcre.so.1.2.7
      irqbalance     0 [000]     0.000000: PERF_RECORD_MMAP2 529/529: [0xffffbd263000(0x149000) @ 0 00:26 930989 625769152]: r-xp /lib64/libc-2.22.so
      irqbalance     0 [000]     0.000000: PERF_RECORD_MMAP2 529/529: [0xffffbd3c9000(0xb000) @ 0 00:26 122960 625769152]: r-xp /usr/lib64/libnuma.so.1
      irqbalance     0 [000]     0.000000: PERF_RECORD_MMAP2 529/529: [0xffffbd3ee000(0x99000) @ 0 00:26 930997 625769152]: r-xp /lib64/libm-2.22.so
      irqbalance     0 [000]     0.000000: PERF_RECORD_MMAP2 529/529: [0xffffbd49f000(0x118000) @ 0 00:26 123573 625769152]: r-xp /usr/lib64/libglib-2.0.so.0.4800.2
      irqbalance     0 [000]     0.000000: PERF_RECORD_MMAP2 529/529: [0xffffbd5d1000(0x4000) @ 0 00:26 123269 625769152]: r-xp /usr/lib64/libcap-ng.so.0.0.0
      irqbalance     0 [000]     0.000000: PERF_RECORD_MMAP2 529/529: [0xffffbd5f2000(0x1e000) @ 0 00:26 930982 625769152]: r-xp /lib64/ld-2.22.so
      irqbalance     0 [000]     0.000000: PERF_RECORD_MMAP2 529/529: [0xffffbd620000(0x1000) @ 0 00:00 0 625769152]: r-xp [vdso]
   wickedd-dhcp4     0 [000]     0.000000: PERF_RECORD_MMAP2 531/531: [0x400000(0x7000) @ 0 00:26 961908 625769152]: r-xp /usr/lib/wicked/bin/wickedd-dhcp4
   wickedd-dhcp4     0 [000]     0.000000: PERF_RECORD_MMAP2 531/531: [0xffffb73a7000(0x13000) @ 0 00:26 123088 625769152]: r-xp /usr/lib64/libgpg-error.so.0.22.0
   wickedd-dhcp4     0 [000]     0.000000: PERF_RECORD_MMAP2 531/531: [0xffffb73d8000(0x99000) @ 0 00:26 930997 625769152]: r-xp /lib64/libm-2.22.so
   wickedd-dhcp4     0 [000]     0.000000: PERF_RECORD_MMAP2 531/531: [0xffffb748a000(0x18000) @ 0 00:26 931017 625769152]: r-xp /lib64/libpthread-2.22.so
   wickedd-dhcp4     0 [000]     0.000000: PERF_RECORD_MMAP2 531/531: [0xffffb74bf000(0x3000) @ 0 00:26 930995 625769152]: r-xp /lib64/libdl-2.22.so
   wickedd-dhcp4     0 [000]     0.000000: PERF_RECORD_MMAP2 531/531: [0xffffb74e0000(0x9e000) @ 0 00:26 653339 625769152]: r-xp /usr/lib64/libgcrypt.so.20.0.1
   wickedd-dhcp4     0 [000]     0.000000: PERF_RECORD_MMAP2 531/531: [0xffffb7594000(0x3000) @ 0 00:26 930987 625769152]: r-xp /lib64/libanl-2.22.so
   wickedd-dhcp4     0 [000]     0.000000: PERF_RECORD_MMAP2 531/531: [0xffffb75b5000(0x1d000) @ 0 00:26 122966 625769152]: r-xp /usr/lib64/libnl-3.so.200.18.0
   wickedd-dhcp4     0 [000]     0.000000: PERF_RECORD_MMAP2 531/531: [0xffffb75e6000(0x4e000) @ 0 00:26 122976 625769152]: r-xp /usr/lib64/libnl-route-3.so.200.18.0
   wickedd-dhcp4     0 [000]     0.000000: PERF_RECORD_MMAP2 531/531: [0xffffb764b000(0x149000) @ 0 00:26 930989 625769152]: r-xp /lib64/libc-2.22.so
   wickedd-dhcp4     0 [000]     0.000000: PERF_RECORD_MMAP2 531/531: [0xffffb77b1000(0x49000) @ 0 00:26 123219 625769152]: r-xp /lib64/libdbus-1.so.3.8.14
   wickedd-dhcp4     0 [000]     0.000000: PERF_RECORD_MMAP2 531/531: [0xffffb7812000(0x15d000) @ 0 00:26 931286 625769152]: r-xp /usr/lib64/libwicked-0.so.6.40.0
   wickedd-dhcp4     0 [000]     0.000000: PERF_RECORD_MMAP2 531/531: [0xffffb79b3000(0x1e000) @ 0 00:26 930982 625769152]: r-xp /lib64/ld-2.22.so
   wickedd-dhcp4     0 [000]     0.000000: PERF_RECORD_MMAP2 531/531: [0xffffb79e1000(0x1000) @ 0 00:00 0 625769152]: r-xp [vdso]
          agetty     0 [000]     0.000000: PERF_RECORD_MMAP2 535/535: [0x400000(0xc000) @ 0 00:26 960782 625769152]: r-xp /usr/sbin/agetty
          agetty     0 [000]     0.000000: PERF_RECORD_MMAP2 535/535: [0xffff8f552000(0xb000) @ 0 00:26 931007 625769152]: r-xp /lib64/libnss_files-2.22.so
          agetty     0 [000]     0.000000: PERF_RECORD_MMAP2 535/535: [0xffff8f579000(0xa000) @ 0 00:26 931011 625769152]: r-xp /lib64/libnss_nis-2.22.so
          agetty     0 [000]     0.000000: PERF_RECORD_MMAP2 535/535: [0xffff8f59a000(0x15000) @ 0 00:26 930999 625769152]: r-xp /lib64/libnsl-2.22.so
          agetty     0 [000]     0.000000: PERF_RECORD_MMAP2 535/535: [0xffff8f5cd000(0x7000) @ 0 00:26 931001 625769152]: r-xp /lib64/libnss_compat-2.22.so
          agetty     0 [000]     0.000000: PERF_RECORD_MMAP2 535/535: [0xffff8f63e000(0x149000) @ 0 00:26 930989 625769152]: r-xp /lib64/libc-2.22.so
          agetty     0 [000]     0.000000: PERF_RECORD_MMAP2 535/535: [0xffff8f7a4000(0x1e000) @ 0 00:26 930982 625769152]: r-xp /lib64/ld-2.22.so
          agetty     0 [000]     0.000000: PERF_RECORD_MMAP2 535/535: [0xffff8f7d2000(0x1000) @ 0 00:00 0 625769152]: r-xp [vdso]
          agetty     0 [000]     0.000000: PERF_RECORD_MMAP2 536/536: [0x400000(0xc000) @ 0 00:26 960782 625769152]: r-xp /usr/sbin/agetty
          agetty     0 [000]     0.000000: PERF_RECORD_MMAP2 536/536: [0xffffae74c000(0xb000) @ 0 00:26 931007 625769152]: r-xp /lib64/libnss_files-2.22.so
          agetty     0 [000]     0.000000: PERF_RECORD_MMAP2 536/536: [0xffffae773000(0xa000) @ 0 00:26 931011 625769152]: r-xp /lib64/libnss_nis-2.22.so
          agetty     0 [000]     0.000000: PERF_RECORD_MMAP2 536/536: [0xffffae794000(0x15000) @ 0 00:26 930999 625769152]: r-xp /lib64/libnsl-2.22.so
          agetty     0 [000]     0.000000: PERF_RECORD_MMAP2 536/536: [0xffffae7c7000(0x7000) @ 0 00:26 931001 625769152]: r-xp /lib64/libnss_compat-2.22.so
          agetty     0 [000]     0.000000: PERF_RECORD_MMAP2 536/536: [0xffffae7e8000(0x149000) @ 0 00:26 930989 625769152]: r-xp /lib64/libc-2.22.so
          agetty     0 [000]     0.000000: PERF_RECORD_MMAP2 536/536: [0xffffae94e000(0x1e000) @ 0 00:26 930982 625769152]: r-xp /lib64/ld-2.22.so
          agetty     0 [000]     0.000000: PERF_RECORD_MMAP2 536/536: [0xffffae97c000(0x1000) @ 0 00:00 0 625769152]: r-xp [vdso]
         wickedd     0 [000]     0.000000: PERF_RECORD_MMAP2 543/543: [0x400000(0x4000) @ 0 00:26 961913 625769152]: r-xp /usr/sbin/wickedd
         wickedd     0 [000]     0.000000: PERF_RECORD_MMAP2 543/543: [0xffffa9e30000(0x13000) @ 0 00:26 123088 625769152]: r-xp /usr/lib64/libgpg-error.so.0.22.0
         wickedd     0 [000]     0.000000: PERF_RECORD_MMAP2 543/543: [0xffffa9e61000(0x99000) @ 0 00:26 930997 625769152]: r-xp /lib64/libm-2.22.so
         wickedd     0 [000]     0.000000: PERF_RECORD_MMAP2 543/543: [0xffffa9f13000(0x18000) @ 0 00:26 931017 625769152]: r-xp /lib64/libpthread-2.22.so
         wickedd     0 [000]     0.000000: PERF_RECORD_MMAP2 543/543: [0xffffa9f48000(0x3000) @ 0 00:26 930995 625769152]: r-xp /lib64/libdl-2.22.so
         wickedd     0 [000]     0.000000: PERF_RECORD_MMAP2 543/543: [0xffffa9f69000(0x9e000) @ 0 00:26 653339 625769152]: r-xp /usr/lib64/libgcrypt.so.20.0.1
         wickedd     0 [000]     0.000000: PERF_RECORD_MMAP2 543/543: [0xffffaa01d000(0x49000) @ 0 00:26 123219 625769152]: r-xp /lib64/libdbus-1.so.3.8.14
         wickedd     0 [000]     0.000000: PERF_RECORD_MMAP2 543/543: [0xffffaa07e000(0x3000) @ 0 00:26 930987 625769152]: r-xp /lib64/libanl-2.22.so
         wickedd     0 [000]     0.000000: PERF_RECORD_MMAP2 543/543: [0xffffaa09f000(0x1d000) @ 0 00:26 122966 625769152]: r-xp /usr/lib64/libnl-3.so.200.18.0
         wickedd     0 [000]     0.000000: PERF_RECORD_MMAP2 543/543: [0xffffaa0d0000(0x4e000) @ 0 00:26 122976 625769152]: r-xp /usr/lib64/libnl-route-3.so.200.18.0
         wickedd     0 [000]     0.000000: PERF_RECORD_MMAP2 543/543: [0xffffaa135000(0x149000) @ 0 00:26 930989 625769152]: r-xp /lib64/libc-2.22.so
         wickedd     0 [000]     0.000000: PERF_RECORD_MMAP2 543/543: [0xffffaa29b000(0x15d000) @ 0 00:26 931286 625769152]: r-xp /usr/lib64/libwicked-0.so.6.40.0
         wickedd     0 [000]     0.000000: PERF_RECORD_MMAP2 543/543: [0xffffaa43c000(0x1e000) @ 0 00:26 930982 625769152]: r-xp /lib64/ld-2.22.so
         wickedd     0 [000]     0.000000: PERF_RECORD_MMAP2 543/543: [0xffffaa46a000(0x1000) @ 0 00:00 0 625769152]: r-xp [vdso]
   wickedd-nanny     0 [000]     0.000000: PERF_RECORD_MMAP2 544/544: [0x400000(0xd000) @ 0 00:26 961914 625769152]: r-xp /usr/sbin/wickedd-nanny
   wickedd-nanny     0 [000]     0.000000: PERF_RECORD_MMAP2 544/544: [0xffff86ece000(0x13000) @ 0 00:26 123088 625769152]: r-xp /usr/lib64/libgpg-error.so.0.22.0
   wickedd-nanny     0 [000]     0.000000: PERF_RECORD_MMAP2 544/544: [0xffff86eff000(0x99000) @ 0 00:26 930997 625769152]: r-xp /lib64/libm-2.22.so
   wickedd-nanny     0 [000]     0.000000: PERF_RECORD_MMAP2 544/544: [0xffff86fb1000(0x18000) @ 0 00:26 931017 625769152]: r-xp /lib64/libpthread-2.22.so
   wickedd-nanny     0 [000]     0.000000: PERF_RECORD_MMAP2 544/544: [0xffff86fe6000(0x3000) @ 0 00:26 930995 625769152]: r-xp /lib64/libdl-2.22.so
   wickedd-nanny     0 [000]     0.000000: PERF_RECORD_MMAP2 544/544: [0xffff87007000(0x9e000) @ 0 00:26 653339 625769152]: r-xp /usr/lib64/libgcrypt.so.20.0.1
   wickedd-nanny     0 [000]     0.000000: PERF_RECORD_MMAP2 544/544: [0xffff870bb000(0x3000) @ 0 00:26 930987 625769152]: r-xp /lib64/libanl-2.22.so
   wickedd-nanny     0 [000]     0.000000: PERF_RECORD_MMAP2 544/544: [0xffff870dc000(0x1d000) @ 0 00:26 122966 625769152]: r-xp /usr/lib64/libnl-3.so.200.18.0
   wickedd-nanny     0 [000]     0.000000: PERF_RECORD_MMAP2 544/544: [0xffff8710d000(0x4e000) @ 0 00:26 122976 625769152]: r-xp /usr/lib64/libnl-route-3.so.200.18.0
   wickedd-nanny     0 [000]     0.000000: PERF_RECORD_MMAP2 544/544: [0xffff87172000(0x149000) @ 0 00:26 930989 625769152]: r-xp /lib64/libc-2.22.so
   wickedd-nanny     0 [000]     0.000000: PERF_RECORD_MMAP2 544/544: [0xffff872d8000(0x49000) @ 0 00:26 123219 625769152]: r-xp /lib64/libdbus-1.so.3.8.14
   wickedd-nanny     0 [000]     0.000000: PERF_RECORD_MMAP2 544/544: [0xffff87339000(0x15d000) @ 0 00:26 931286 625769152]: r-xp /usr/lib64/libwicked-0.so.6.40.0
   wickedd-nanny     0 [000]     0.000000: PERF_RECORD_MMAP2 544/544: [0xffff874da000(0x1e000) @ 0 00:26 930982 625769152]: r-xp /lib64/ld-2.22.so
   wickedd-nanny     0 [000]     0.000000: PERF_RECORD_MMAP2 544/544: [0xffff87508000(0x1000) @ 0 00:00 0 625769152]: r-xp [vdso]
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 6373/6373: [0xaaaab52f4000(0xd6000) @ 0 00:26 961857 625769152]: r-xp /usr/sbin/sshd
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 6373/6373: [0xffffa4f05000(0x1000) @ 0 00:26 931098 625769152]: r-xp /lib64/security/pam_deny.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 6373/6373: [0xffffa4f26000(0x1000) @ 0 00:26 931134 625769152]: r-xp /lib64/security/pam_warn.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 6373/6373: [0xffffa4f47000(0x3000) @ 0 00:26 931109 625769152]: r-xp /lib64/security/pam_lastlog.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 6373/6373: [0xffffa4f68000(0x5000) @ 0 00:26 123300 625769152]: r-xp /lib64/libattr.so.1.1.0
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 6373/6373: [0xffffa4f89000(0x3000) @ 0 00:26 931092 625769152]: r-xp /lib64/libpam_misc.so.0.82.1
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 6373/6373: [0xffffa4faa000(0x2c000) @ 0 00:26 122824 625769152]: r-xp /usr/lib64/libseccomp.so.2.3.1
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 6373/6373: [0xffffa4ffb000(0x8000) @ 0 00:26 123721 625769152]: r-xp /lib64/libacl.so.1.1.0
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 6373/6373: [0xffffa501c000(0x13000) @ 0 00:26 123088 625769152]: r-xp /usr/lib64/libgpg-error.so.0.22.0
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 6373/6373: [0xffffa504d000(0x9e000) @ 0 00:26 653339 625769152]: r-xp /usr/lib64/libgcrypt.so.20.0.1
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 6373/6373: [0xffffa5101000(0x24000) @ 0 00:26 123031 625769152]: r-xp /usr/lib64/liblzma.so.5.2.2
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 6373/6373: [0xffffa5142000(0x99000) @ 0 00:26 930997 625769152]: r-xp /lib64/libm-2.22.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 6373/6373: [0xffffa51f3000(0x6000) @ 0 00:26 931021 625769152]: r-xp /lib64/librt-2.22.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 6373/6373: [0xffffa5214000(0x4000) @ 0 00:26 123263 625769152]: r-xp /lib64/libcap.so.2.22
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 6373/6373: [0xffffa5235000(0x49000) @ 0 00:26 996107 625769152]: r-xp /lib64/security/pam_systemd.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 6373/6373: [0xffffa5296000(0x2000) @ 0 00:26 931133 625769152]: r-xp /lib64/security/pam_umask.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 6373/6373: [0xffffa52b7000(0x4000) @ 0 00:26 931110 625769152]: r-xp /lib64/security/pam_limits.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 6373/6373: [0xffffa52d8000(0x2000) @ 0 00:26 931113 625769152]: r-xp /lib64/security/pam_loginuid.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 6373/6373: [0xffffa52f9000(0x9000) @ 0 00:26 133221 625769152]: r-xp /usr/lib64/libcrack.so.2.9.0
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 6373/6373: [0xffffa531e000(0x3000) @ 0 00:26 931096 625769152]: r-xp /lib64/security/pam_cracklib.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 6373/6373: [0xffffa533f000(0xc000) @ 0 00:26 931273 625769152]: r-xp /lib64/security/pam_unix.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 6373/6373: [0xffffa536c000(0x3000) @ 0 00:26 931100 625769152]: r-xp /lib64/security/pam_env.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 6373/6373: [0xffffa539d000(0x2000) @ 0 00:26 931118 625769152]: r-xp /lib64/security/pam_nologin.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 6373/6373: [0xffffa53ce000(0xb000) @ 0 00:26 931007 625769152]: r-xp /lib64/libnss_files-2.22.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 6373/6373: [0xffffa53f5000(0xa000) @ 0 00:26 931011 625769152]: r-xp /lib64/libnss_nis-2.22.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 6373/6373: [0xffffa5416000(0x15000) @ 0 00:26 930999 625769152]: r-xp /lib64/libnsl-2.22.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 6373/6373: [0xffffa5449000(0x7000) @ 0 00:26 931001 625769152]: r-xp /lib64/libnss_compat-2.22.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 6373/6373: [0xffffa546e000(0x18000) @ 0 00:26 931017 625769152]: r-xp /lib64/libpthread-2.22.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 6373/6373: [0xffffa54a3000(0x13000) @ 0 00:26 931019 625769152]: r-xp /lib64/libresolv-2.22.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 6373/6373: [0xffffa54d6000(0x3000) @ 0 00:26 123051 625769152]: r-xp /lib64/libkeyutils.so.1.5
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 6373/6373: [0xffffa54f8000(0xd000) @ 0 00:26 653324 625769152]: r-xp /usr/lib64/libkrb5support.so.0.1
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 6373/6373: [0xffffa5519000(0x2e000) @ 0 00:26 653312 625769152]: r-xp /usr/lib64/libk5crypto.so.3.1
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 6373/6373: [0xffffa555b000(0x3b000) @ 0 00:26 587843 625769152]: r-xp /usr/lib64/libpcre.so.1.2.7
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 6373/6373: [0xffffa55ad000(0x3000) @ 0 00:26 930995 625769152]: r-xp /lib64/libdl-2.22.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 6373/6373: [0xffffa55ce000(0x149000) @ 0 00:26 930989 625769152]: r-xp /lib64/libc-2.22.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 6373/6373: [0xffffa5734000(0x3000) @ 0 00:26 123247 625769152]: r-xp /usr/lib64/libcom_err.so.2.1
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 6373/6373: [0xffffa5756000(0xc0000) @ 0 00:26 653322 625769152]: r-xp /usr/lib64/libkrb5.so.3.3
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 6373/6373: [0xffffa5839000(0x43000) @ 0 00:26 653308 625769152]: r-xp /usr/lib64/libgssapi_krb5.so.2.2
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 6373/6373: [0xffffa589b000(0xb000) @ 0 00:26 930993 625769152]: r-xp /lib64/libcrypt-2.22.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 6373/6373: [0xffffa58ea000(0x14000) @ 0 00:26 122708 625769152]: r-xp /lib64/libz.so.1.2.8
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 6373/6373: [0xffffa591b000(0x2000) @ 0 00:26 931025 625769152]: r-xp /lib64/libutil-2.22.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 6373/6373: [0xffffa593c000(0x1b6000) @ 0 00:26 931332 625769152]: r-xp /lib64/libcrypto.so.1.0.0
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 6373/6373: [0xffffa5b2d000(0x24000) @ 0 00:26 123567 625769152]: r-xp /lib64/libselinux.so.1
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 6373/6373: [0xffffa5b70000(0xe000) @ 0 00:26 931090 625769152]: r-xp /lib64/libpam.so.0.84.2
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 6373/6373: [0xffffa5b91000(0x17000) @ 0 00:26 587830 625769152]: r-xp /usr/lib64/libaudit.so.1.0.0
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 6373/6373: [0xffffa5bcc000(0x1e000) @ 0 00:26 930982 625769152]: r-xp /lib64/ld-2.22.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 6373/6373: [0xffffa5bfa000(0x1000) @ 0 00:00 0 625769152]: r-xp [vdso]
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 6384/6384: [0xaaaab52f4000(0xd6000) @ 0 00:26 961857 625769152]: r-xp /usr/sbin/sshd
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 6384/6384: [0xffffa4f05000(0x1000) @ 0 00:26 931098 625769152]: r-xp /lib64/security/pam_deny.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 6384/6384: [0xffffa4f26000(0x1000) @ 0 00:26 931134 625769152]: r-xp /lib64/security/pam_warn.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 6384/6384: [0xffffa4f47000(0x3000) @ 0 00:26 931109 625769152]: r-xp /lib64/security/pam_lastlog.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 6384/6384: [0xffffa4f68000(0x5000) @ 0 00:26 123300 625769152]: r-xp /lib64/libattr.so.1.1.0
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 6384/6384: [0xffffa4f89000(0x3000) @ 0 00:26 931092 625769152]: r-xp /lib64/libpam_misc.so.0.82.1
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 6384/6384: [0xffffa4faa000(0x2c000) @ 0 00:26 122824 625769152]: r-xp /usr/lib64/libseccomp.so.2.3.1
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 6384/6384: [0xffffa4ffb000(0x8000) @ 0 00:26 123721 625769152]: r-xp /lib64/libacl.so.1.1.0
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 6384/6384: [0xffffa501c000(0x13000) @ 0 00:26 123088 625769152]: r-xp /usr/lib64/libgpg-error.so.0.22.0
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 6384/6384: [0xffffa504d000(0x9e000) @ 0 00:26 653339 625769152]: r-xp /usr/lib64/libgcrypt.so.20.0.1
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 6384/6384: [0xffffa5101000(0x24000) @ 0 00:26 123031 625769152]: r-xp /usr/lib64/liblzma.so.5.2.2
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 6384/6384: [0xffffa5142000(0x99000) @ 0 00:26 930997 625769152]: r-xp /lib64/libm-2.22.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 6384/6384: [0xffffa51f3000(0x6000) @ 0 00:26 931021 625769152]: r-xp /lib64/librt-2.22.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 6384/6384: [0xffffa5214000(0x4000) @ 0 00:26 123263 625769152]: r-xp /lib64/libcap.so.2.22
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 6384/6384: [0xffffa5235000(0x49000) @ 0 00:26 996107 625769152]: r-xp /lib64/security/pam_systemd.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 6384/6384: [0xffffa5296000(0x2000) @ 0 00:26 931133 625769152]: r-xp /lib64/security/pam_umask.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 6384/6384: [0xffffa52b7000(0x4000) @ 0 00:26 931110 625769152]: r-xp /lib64/security/pam_limits.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 6384/6384: [0xffffa52d8000(0x2000) @ 0 00:26 931113 625769152]: r-xp /lib64/security/pam_loginuid.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 6384/6384: [0xffffa52f9000(0x9000) @ 0 00:26 133221 625769152]: r-xp /usr/lib64/libcrack.so.2.9.0
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 6384/6384: [0xffffa531e000(0x3000) @ 0 00:26 931096 625769152]: r-xp /lib64/security/pam_cracklib.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 6384/6384: [0xffffa533f000(0xc000) @ 0 00:26 931273 625769152]: r-xp /lib64/security/pam_unix.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 6384/6384: [0xffffa536c000(0x3000) @ 0 00:26 931100 625769152]: r-xp /lib64/security/pam_env.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 6384/6384: [0xffffa539d000(0x2000) @ 0 00:26 931118 625769152]: r-xp /lib64/security/pam_nologin.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 6384/6384: [0xffffa53ce000(0xb000) @ 0 00:26 931007 625769152]: r-xp /lib64/libnss_files-2.22.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 6384/6384: [0xffffa53f5000(0xa000) @ 0 00:26 931011 625769152]: r-xp /lib64/libnss_nis-2.22.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 6384/6384: [0xffffa5416000(0x15000) @ 0 00:26 930999 625769152]: r-xp /lib64/libnsl-2.22.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 6384/6384: [0xffffa5449000(0x7000) @ 0 00:26 931001 625769152]: r-xp /lib64/libnss_compat-2.22.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 6384/6384: [0xffffa546e000(0x18000) @ 0 00:26 931017 625769152]: r-xp /lib64/libpthread-2.22.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 6384/6384: [0xffffa54a3000(0x13000) @ 0 00:26 931019 625769152]: r-xp /lib64/libresolv-2.22.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 6384/6384: [0xffffa54d6000(0x3000) @ 0 00:26 123051 625769152]: r-xp /lib64/libkeyutils.so.1.5
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 6384/6384: [0xffffa54f8000(0xd000) @ 0 00:26 653324 625769152]: r-xp /usr/lib64/libkrb5support.so.0.1
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 6384/6384: [0xffffa5519000(0x2e000) @ 0 00:26 653312 625769152]: r-xp /usr/lib64/libk5crypto.so.3.1
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 6384/6384: [0xffffa555b000(0x3b000) @ 0 00:26 587843 625769152]: r-xp /usr/lib64/libpcre.so.1.2.7
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 6384/6384: [0xffffa55ad000(0x3000) @ 0 00:26 930995 625769152]: r-xp /lib64/libdl-2.22.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 6384/6384: [0xffffa55ce000(0x149000) @ 0 00:26 930989 625769152]: r-xp /lib64/libc-2.22.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 6384/6384: [0xffffa5734000(0x3000) @ 0 00:26 123247 625769152]: r-xp /usr/lib64/libcom_err.so.2.1
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 6384/6384: [0xffffa5756000(0xc0000) @ 0 00:26 653322 625769152]: r-xp /usr/lib64/libkrb5.so.3.3
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 6384/6384: [0xffffa5839000(0x43000) @ 0 00:26 653308 625769152]: r-xp /usr/lib64/libgssapi_krb5.so.2.2
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 6384/6384: [0xffffa589b000(0xb000) @ 0 00:26 930993 625769152]: r-xp /lib64/libcrypt-2.22.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 6384/6384: [0xffffa58ea000(0x14000) @ 0 00:26 122708 625769152]: r-xp /lib64/libz.so.1.2.8
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 6384/6384: [0xffffa591b000(0x2000) @ 0 00:26 931025 625769152]: r-xp /lib64/libutil-2.22.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 6384/6384: [0xffffa593c000(0x1b6000) @ 0 00:26 931332 625769152]: r-xp /lib64/libcrypto.so.1.0.0
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 6384/6384: [0xffffa5b2d000(0x24000) @ 0 00:26 123567 625769152]: r-xp /lib64/libselinux.so.1
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 6384/6384: [0xffffa5b70000(0xe000) @ 0 00:26 931090 625769152]: r-xp /lib64/libpam.so.0.84.2
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 6384/6384: [0xffffa5b91000(0x17000) @ 0 00:26 587830 625769152]: r-xp /usr/lib64/libaudit.so.1.0.0
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 6384/6384: [0xffffa5bcc000(0x1e000) @ 0 00:26 930982 625769152]: r-xp /lib64/ld-2.22.so
            sshd     0 [000]     0.000000: PERF_RECORD_MMAP2 6384/6384: [0xffffa5bfa000(0x1000) @ 0 00:00 0 625769152]: r-xp [vdso]
            bash     0 [000]     0.000000: PERF_RECORD_MMAP2 6386/6386: [0x400000(0xaf000) @ 0 00:26 129038 625769152]: r-xp /bin/bash
            bash     0 [000]     0.000000: PERF_RECORD_MMAP2 6386/6386: [0xffff87a54000(0xb000) @ 0 00:26 931007 625769152]: r-xp /lib64/libnss_files-2.22.so
            bash     0 [000]     0.000000: PERF_RECORD_MMAP2 6386/6386: [0xffff87a7b000(0xa000) @ 0 00:26 931011 625769152]: r-xp /lib64/libnss_nis-2.22.so
            bash     0 [000]     0.000000: PERF_RECORD_MMAP2 6386/6386: [0xffff87a9c000(0x15000) @ 0 00:26 930999 625769152]: r-xp /lib64/libnsl-2.22.so
            bash     0 [000]     0.000000: PERF_RECORD_MMAP2 6386/6386: [0xffff87acf000(0x7000) @ 0 00:26 931001 625769152]: r-xp /lib64/libnss_compat-2.22.so
            bash     0 [000]     0.000000: PERF_RECORD_MMAP2 6386/6386: [0xffff87c75000(0x149000) @ 0 00:26 930989 625769152]: r-xp /lib64/libc-2.22.so
            bash     0 [000]     0.000000: PERF_RECORD_MMAP2 6386/6386: [0xffff87ddb000(0x3000) @ 0 00:26 930995 625769152]: r-xp /lib64/libdl-2.22.so
            bash     0 [000]     0.000000: PERF_RECORD_MMAP2 6386/6386: [0xffff87dfc000(0x2c000) @ 0 00:26 996745 625769152]: r-xp /lib64/libtinfo.so.5.9
            bash     0 [000]     0.000000: PERF_RECORD_MMAP2 6386/6386: [0xffff87e42000(0x44000) @ 0 00:26 128536 625769152]: r-xp /lib64/libreadline.so.6.3
            bash     0 [000]     0.000000: PERF_RECORD_MMAP2 6386/6386: [0xffff87eaa000(0x1e000) @ 0 00:26 930982 625769152]: r-xp /lib64/ld-2.22.so
            bash     0 [000]     0.000000: PERF_RECORD_MMAP2 6386/6386: [0xffff87ed8000(0x1000) @ 0 00:00 0 625769152]: r-xp [vdso]
           cupsd     0 [000]     0.000000: PERF_RECORD_MMAP2 990/990: [0xaaaab971a000(0x61000) @ 0 00:26 424271 625769152]: r-xp /usr/sbin/cupsd
           cupsd     0 [000]     0.000000: PERF_RECORD_MMAP2 990/990: [0xffffac762000(0xb000) @ 0 00:26 931007 625769152]: r-xp /lib64/libnss_files-2.22.so
           cupsd     0 [000]     0.000000: PERF_RECORD_MMAP2 990/990: [0xffffac789000(0xa000) @ 0 00:26 931011 625769152]: r-xp /lib64/libnss_nis-2.22.so
           cupsd     0 [000]     0.000000: PERF_RECORD_MMAP2 990/990: [0xffffac7aa000(0x15000) @ 0 00:26 930999 625769152]: r-xp /lib64/libnsl-2.22.so
           cupsd     0 [000]     0.000000: PERF_RECORD_MMAP2 990/990: [0xffffac7dd000(0x7000) @ 0 00:26 931001 625769152]: r-xp /lib64/libnss_compat-2.22.so
           cupsd     0 [000]     0.000000: PERF_RECORD_MMAP2 990/990: [0xffffac802000(0x3b000) @ 0 00:26 587843 625769152]: r-xp /usr/lib64/libpcre.so.1.2.7
           cupsd     0 [000]     0.000000: PERF_RECORD_MMAP2 990/990: [0xffffac853000(0x24000) @ 0 00:26 123567 625769152]: r-xp /lib64/libselinux.so.1
           cupsd     0 [000]     0.000000: PERF_RECORD_MMAP2 990/990: [0xffffac897000(0x13000) @ 0 00:26 931019 625769152]: r-xp /lib64/libresolv-2.22.so
           cupsd     0 [000]     0.000000: PERF_RECORD_MMAP2 990/990: [0xffffac8ca000(0x3000) @ 0 00:26 123051 625769152]: r-xp /lib64/libkeyutils.so.1.5
           cupsd     0 [000]     0.000000: PERF_RECORD_MMAP2 990/990: [0xffffac8eb000(0xd000) @ 0 00:26 653324 625769152]: r-xp /usr/lib64/libkrb5support.so.0.1
           cupsd     0 [000]     0.000000: PERF_RECORD_MMAP2 990/990: [0xffffac90d000(0x3000) @ 0 00:26 123247 625769152]: r-xp /usr/lib64/libcom_err.so.2.1
           cupsd     0 [000]     0.000000: PERF_RECORD_MMAP2 990/990: [0xffffac92e000(0x2e000) @ 0 00:26 653312 625769152]: r-xp /usr/lib64/libk5crypto.so.3.1
           cupsd     0 [000]     0.000000: PERF_RECORD_MMAP2 990/990: [0xffffac970000(0xc0000) @ 0 00:26 653322 625769152]: r-xp /usr/lib64/libkrb5.so.3.3
           cupsd     0 [000]     0.000000: PERF_RECORD_MMAP2 990/990: [0xffffaca53000(0x99000) @ 0 00:26 930997 625769152]: r-xp /lib64/libm-2.22.so
           cupsd     0 [000]     0.000000: PERF_RECORD_MMAP2 990/990: [0xffffacb05000(0x17000) @ 0 00:26 587830 625769152]: r-xp /usr/lib64/libaudit.so.1.0.0
           cupsd     0 [000]     0.000000: PERF_RECORD_MMAP2 990/990: [0xffffacb40000(0x14000) @ 0 00:26 122708 625769152]: r-xp /lib64/libz.so.1.2.8
           cupsd     0 [000]     0.000000: PERF_RECORD_MMAP2 990/990: [0xffffacb72000(0x3000) @ 0 00:26 930995 625769152]: r-xp /lib64/libdl-2.22.so
           cupsd     0 [000]     0.000000: PERF_RECORD_MMAP2 990/990: [0xffffacb93000(0x149000) @ 0 00:26 930989 625769152]: r-xp /lib64/libc-2.22.so
           cupsd     0 [000]     0.000000: PERF_RECORD_MMAP2 990/990: [0xffffaccf9000(0x18000) @ 0 00:26 931017 625769152]: r-xp /lib64/libpthread-2.22.so
           cupsd     0 [000]     0.000000: PERF_RECORD_MMAP2 990/990: [0xffffacd2f000(0x43000) @ 0 00:26 653308 625769152]: r-xp /usr/lib64/libgssapi_krb5.so.2.2
           cupsd     0 [000]     0.000000: PERF_RECORD_MMAP2 990/990: [0xffffacd91000(0x81000) @ 0 00:26 156957 625769152]: r-xp /usr/lib64/libcups.so.2
           cupsd     0 [000]     0.000000: PERF_RECORD_MMAP2 990/990: [0xfffface33000(0x10000) @ 0 00:26 123711 625769152]: r-xp /usr/lib64/libavahi-client.so.3.2.9
           cupsd     0 [000]     0.000000: PERF_RECORD_MMAP2 990/990: [0xfffface54000(0xc000) @ 0 00:26 123287 625769152]: r-xp /usr/lib64/libavahi-common.so.3.5.3
           cupsd     0 [000]     0.000000: PERF_RECORD_MMAP2 990/990: [0xfffface75000(0x49000) @ 0 00:26 123219 625769152]: r-xp /lib64/libdbus-1.so.3.8.14
           cupsd     0 [000]     0.000000: PERF_RECORD_MMAP2 990/990: [0xffffaced6000(0xe000) @ 0 00:26 931090 625769152]: r-xp /lib64/libpam.so.0.84.2
           cupsd     0 [000]     0.000000: PERF_RECORD_MMAP2 990/990: [0xffffacef7000(0x1b6000) @ 0 00:26 931332 625769152]: r-xp /lib64/libcrypto.so.1.0.0
           cupsd     0 [000]     0.000000: PERF_RECORD_MMAP2 990/990: [0xffffad0e8000(0x5a000) @ 0 00:26 931333 625769152]: r-xp /lib64/libssl.so.1.0.0
           cupsd     0 [000]     0.000000: PERF_RECORD_MMAP2 990/990: [0xffffad15f000(0x8000) @ 0 00:26 156960 625769152]: r-xp /usr/lib64/libcupsmime.so.1
           cupsd     0 [000]     0.000000: PERF_RECORD_MMAP2 990/990: [0xffffad180000(0x1e000) @ 0 00:26 930982 625769152]: r-xp /lib64/ld-2.22.so
           cupsd     0 [000]     0.000000: PERF_RECORD_MMAP2 990/990: [0xffffad1ae000(0x1000) @ 0 00:00 0 625769152]: r-xp [vdso]
         swapper     0 [000] 179842.413705:          1 cycles:ppp:  ffff20000808d71c arch_cpu_idle ([kernel.kallsyms])
       perf.good 23582 [001] 179842.413707:          1 cycles:ppp:  ffff200008370b0c generic_exec_single ([kernel.kallsyms])
         swapper     0 [000] 179842.413718:          1 cycles:ppp:  ffff20000808d71c arch_cpu_idle ([kernel.kallsyms])
       perf.good 23582 [001] 179842.413720:          1 cycles:ppp:  ffff200008370b0c generic_exec_single ([kernel.kallsyms])
       perf.good 23582 [001] 179842.413723:          1 cycles:ppp:  ffff200008370b0c generic_exec_single ([kernel.kallsyms])
         swapper     0 [000] 179842.413726:          1 cycles:ppp:  ffff20000808d71c arch_cpu_idle ([kernel.kallsyms])
       perf.good 23582 [001] 179842.413727:          4 cycles:ppp:  ffff200008370b0c generic_exec_single ([kernel.kallsyms])
       perf.good 23582 [001] 179842.413731:         34 cycles:ppp:  ffff200008370b0c generic_exec_single ([kernel.kallsyms])
         swapper     0 [000] 179842.413732:          3 cycles:ppp:  ffff20000808d71c arch_cpu_idle ([kernel.kallsyms])
       perf.good 23582 [001] 179842.413734:        321 cycles:ppp:  ffff200008370b0c generic_exec_single ([kernel.kallsyms])
         swapper     0 [000] 179842.413738:         14 cycles:ppp:  ffff20000808d71c arch_cpu_idle ([kernel.kallsyms])
       perf.good 23582 [001] 179842.413739:       2984 cycles:ppp:  ffff200008370b0c generic_exec_single ([kernel.kallsyms])
         swapper     0 [000] 179842.413744:         85 cycles:ppp:  ffff20000808d71c arch_cpu_idle ([kernel.kallsyms])
         swapper     0 [000] 179842.413750:        522 cycles:ppp:  ffff20000808d71c arch_cpu_idle ([kernel.kallsyms])
         swapper     0 [000] 179842.413755:       3274 cycles:ppp:  ffff20000808d71c arch_cpu_idle ([kernel.kallsyms])
         swapper     0 [002] 179842.413766:          1 cycles:ppp:  ffff20000808d71c arch_cpu_idle ([kernel.kallsyms])
       perf.good 23582 [001] 179842.413774:      29103 cycles:ppp:            50b494 perf_event__get_comm_ids (/home/kim/git/linux-perf-acme-urgent/tools/perf/perf.good)
         swapper     0 [003] 179842.413775:          1 cycles:ppp:  ffff20000808d71c arch_cpu_idle ([kernel.kallsyms])
         swapper     0 [002] 179842.413776:          1 cycles:ppp:  ffff20000808d71c arch_cpu_idle ([kernel.kallsyms])
         swapper     0 [002] 179842.413783:          1 cycles:ppp:  ffff20000808d71c arch_cpu_idle ([kernel.kallsyms])
         swapper     0 [003] 179842.413784:          1 cycles:ppp:  ffff20000808d71c arch_cpu_idle ([kernel.kallsyms])
         swapper     0 [002] 179842.413789:          4 cycles:ppp:  ffff20000808d71c arch_cpu_idle ([kernel.kallsyms])
         swapper     0 [003] 179842.413790:          1 cycles:ppp:  ffff20000808d71c arch_cpu_idle ([kernel.kallsyms])
         swapper     0 [002] 179842.413795:         20 cycles:ppp:  ffff20000808d71c arch_cpu_idle ([kernel.kallsyms])
         swapper     0 [000] 179842.413799:      20603 cycles:ppp:  ffff20000808d71c arch_cpu_idle ([kernel.kallsyms])
         swapper     0 [003] 179842.413802:          5 cycles:ppp:  ffff20000808d71c arch_cpu_idle ([kernel.kallsyms])
         swapper     0 [002] 179842.413802:        125 cycles:ppp:  ffff20000808d71c arch_cpu_idle ([kernel.kallsyms])
         swapper     0 [002] 179842.413810:        766 cycles:ppp:  ffff20000808d71c arch_cpu_idle ([kernel.kallsyms])
         swapper     0 [003] 179842.413811:         29 cycles:ppp:  ffff20000808d71c arch_cpu_idle ([kernel.kallsyms])
         swapper     0 [002] 179842.413816:       4284 cycles:ppp:  ffff20000808d71c arch_cpu_idle ([kernel.kallsyms])
         swapper     0 [003] 179842.413817:        108 cycles:ppp:  ffff20000808d71c arch_cpu_idle ([kernel.kallsyms])
         swapper     0 [003] 179842.413822:        459 cycles:ppp:  ffff20000808d71c arch_cpu_idle ([kernel.kallsyms])
         swapper     0 [003] 179842.413827:       2731 cycles:ppp:  ffff20000808d71c arch_cpu_idle ([kernel.kallsyms])
       perf.good 23582 [001] 179842.413917:     242834 cycles:ppp:  ffff20000809ffa4 unwind_frame ([kernel.kallsyms])
       perf.good 23583 [000] 179842.414036:     133330 cycles:ppp:  ffff2000085c3870 filemap_map_pages ([kernel.kallsyms])
         swapper     0 [003] 179842.414069:      17784 cycles:ppp:  ffff20000808d71c arch_cpu_idle ([kernel.kallsyms])
       perf.good 23583 [000] 179842.414161:     212157 cycles:ppp:  ffff2000086a04dc handle_mm_fault ([kernel.kallsyms])
       perf.good 23582 [001] 179842.414171:     431549 cycles:ppp:  ffff200008749224 kfree ([kernel.kallsyms])
       perf.good 23583 [000] 179842.414287:     213590 cycles:ppp:  ffff20000809feac unwind_frame ([kernel.kallsyms])
       perf.good 23583 [000] 179842.414429:     240337 cycles:ppp:  ffff200009131e14 __crc32c_le ([kernel.kallsyms])
       perf.good 23582 [001] 179842.414449:     471561 cycles:ppp:  ffff200008749b60 kmem_cache_free ([kernel.kallsyms])
       perf.good 23583 [000] 179842.414588:     270161 cycles:ppp:  ffff2000087e2760 de_thread ([kernel.kallsyms])
         swapper     0 [001] 179842.414732:     470634 cycles:ppp:  ffff20000821e010 finish_task_switch ([kernel.kallsyms])
       perf.good 23583 [000] 179842.414765:     295672 cycles:ppp:  ffff200008692df4 zap_pte_range ([kernel.kallsyms])
       perf.good 23583 [000] 179842.414949:     316822 cycles:ppp:  ffff200008749b60 kmem_cache_free ([kernel.kallsyms])
         swapper     0 [002] 179842.414959:      19158 cycles:ppp:  ffff20000808d71c arch_cpu_idle ([kernel.kallsyms])
       perf.good 23583 [000] 179842.415146:     333471 cycles:ppp:  ffff200008749b60 kmem_cache_free ([kernel.kallsyms])
       perf.good 23583 [000] 179842.415350:     348193 cycles:ppp:  ffff200008749b60 kmem_cache_free ([kernel.kallsyms])
           sleep 23583 [000] 179842.415562:     359782 cycles:ppp:  ffff2000086ac1e0 vma_gap_update ([kernel.kallsyms])
           sleep 23583 [000] 179842.415593: PERF_RECORD_MMAP2 23583/23583: [0x400000(0x7000) @ 0 00:26 932020 143948]: r-xp /usr/bin/sleep
           sleep 23583 [000] 179842.415665: PERF_RECORD_MMAP2 23583/23583: [0xffffb5592000(0x32000) @ 0 00:26 930982 143948]: r-xp /lib64/ld-2.22.so
           sleep 23583 [000] 179842.415733: PERF_RECORD_MMAP2 23583/23583: [0xffffb55c0000(0x1000) @ 0 00:00 0 0]: r-xp [vdso]
           sleep 23583 [000] 179842.415782:     369947 cycles:ppp:  ffff200008749b60 kmem_cache_free ([kernel.kallsyms])
           sleep 23583 [000] 179842.416004:     378294 cycles:ppp:  ffff2000087f0148 inode_permission ([kernel.kallsyms])
           sleep 23583 [000] 179842.416074: PERF_RECORD_MMAP2 23583/23583: [0xffffb542c000(0x166000) @ 0 00:26 930989 143948]: r-xp /lib64/libc-2.22.so
           sleep 23583 [000] 179842.416230:     384624 cycles:ppp:  ffff2000086474ac __vm_enough_memory ([kernel.kallsyms])
           sleep 23583 [000] 179842.416460:     390904 cycles:ppp:      ffffb544b6dc _init (/lib64/libc-2.22.so)
           sleep 23583 [000] 179842.416693:     396157 cycles:ppp:      ffffb548f11c fopen@@GLIBC_2.17 (/lib64/libc-2.22.so)
           sleep 23583 [000] 179842.416929:     400301 cycles:ppp:  ffff2000080a00dc unwind_frame ([kernel.kallsyms])
           sleep 23583 [000] 179842.417167:     403930 cycles:ppp:  ffff200008311790 __call_rcu ([kernel.kallsyms])
           sleep 23583 [000] 179842.417408:     406969 cycles:ppp:  ffff200008749224 kfree ([kernel.kallsyms])
           sleep 23583 [000] 179842.417647:     409630 cycles:ppp:  ffff20000874e298 kasan_kmalloc ([kernel.kallsyms])
           sleep 23583 [000] 179842.417889:     411541 cycles:ppp:  ffff20000809ff48 unwind_frame ([kernel.kallsyms])
         swapper     0 [001] 179842.450066:     464795 cycles:ppp:  ffff200008082bf0 __do_softirq ([kernel.kallsyms])
         swapper     0 [000] 179842.450088:     413780 cycles:ppp:  ffff200008749224 kfree ([kernel.kallsyms])
         swapper     0 [001] 179842.450227:     273220 cycles:ppp:  ffff200008749b60 kmem_cache_free ([kernel.kallsyms])
     kworker/2:0 28514 [002] 179842.590114:     119279 cycles:ppp:  ffff20000874a270 drain_array ([kernel.kallsyms])
      khugepaged    37 [003] 179842.590122:     138081 cycles:ppp:  ffff200008777f6c hugepage_vma_check ([kernel.kallsyms])
     kworker/2:0 28514 [002] 179842.590168:      94660 cycles:ppp:  ffff20000874a4cc cache_reap ([kernel.kallsyms])
      khugepaged    37 [003] 179842.590194:     121815 cycles:ppp:  ffff2000086cae68 mm_find_pmd ([kernel.kallsyms])
     kworker/2:0 28514 [002] 179842.590224:      94660 cycles:ppp:  ffff20000874a4cc cache_reap ([kernel.kallsyms])
      khugepaged    37 [003] 179842.590265:     121815 cycles:ppp:  ffff2000086ad818 find_vma ([kernel.kallsyms])
            ntpd  1002 [003] 179842.594873:     159868 cycles:ppp:  ffff200008085200 __sys_trace ([kernel.kallsyms])
           sleep 23583 [000] 179843.418069:     258640 cycles:ppp:  ffff200008911678 locks_remove_posix ([kernel.kallsyms])
           sleep 23583 [000] 179843.418203:     226895 cycles:ppp:  ffff2000086ccfbc page_remove_rmap ([kernel.kallsyms])
           sleep 23583 [000] 179843.418337:     226895 cycles:ppp:  ffff200008749b60 kmem_cache_free ([kernel.kallsyms])

Thanks,

Kim

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

* Re: [PATCH] Revert "perf machine: Fix paranoid check in machine__set_kernel_mmap()"
  2018-04-12  0:29                 ` Kim Phillips
@ 2018-04-12  1:57                   ` Namhyung Kim
  2018-04-13  0:09                     ` Kim Phillips
  0 siblings, 1 reply; 36+ messages in thread
From: Namhyung Kim @ 2018-04-12  1:57 UTC (permalink / raw)
  To: Kim Phillips
  Cc: Arnaldo Carvalho de Melo, Jiri Olsa, Jiri Olsa, lkml,
	Ingo Molnar, David Ahern, Alexander Shishkin, Peter Zijlstra,
	kernel-team

On Wed, Apr 11, 2018 at 07:29:40PM -0500, Kim Phillips wrote:
> On Thu, 12 Apr 2018 08:31:09 +0900
> Namhyung Kim <namhyung@kernel.org> wrote:
> 
> > Hello,
> 
> Hi,
> 
> > On Wed, Apr 11, 2018 at 06:07:52PM -0500, Kim Phillips wrote:
> > > ---
> > > It's not clear to me what the specific intent of the original commit
> > > was, thus the revert.
> > 
> > Hmm.. maybe your kernel map has non-zero start and zero end.  I
> 
> On x86, the first line in /proc/kallsyms is:
> 
> 0000000000000000 A irq_stack_union
> 
> On arm64, it's:
> 
> ffff200008080000 t _head
> 
> Another arm64 box has:
> 
> ffff000008080000 t _head
> 
> (neither have RANDOMIZE_BASE set FWIW)
> 
> > thought it was just from an old or invalid data.  But now I think that
> 
> It would be good to know what that was, yes.
> 
> > overflow can create it..  could you please show me the mmap event?
> > 
> >   $ perf script --show-mmap-events
> 
> Here you go:
> 
>          swapper     0 [000]     0.000000: PERF_RECORD_MMAP -1/0: [0xffff200008080000(0xdffff7f7ffff) @ 0xffff200008080000]: x [kernel.kallsyms]_text

   0xffff200008080000
 +     0xdffff7f7ffff
 --------------------
   0xffffffffffffffff

So it should have ~0ULL of the 'end' already.  I don't know why it
caused the problem..  Was it from the `perf.good`?


>          swapper     0 [000]     0.000000: PERF_RECORD_MMAP -1/0: [0xffff2000021e0000(0x18000) @ 0]: x /lib/modules/4.16.0+/kernel/drivers/bus/arm-ccn.ko

Hmm.. also it seems arm64 loads modules under the kernel.  Then the
fixup logic in machine__create_kernel_maps() won't work.  Also as we
don't use the map_groups__fixup_end() anymore I think it's ok just
checking the end address.

Thanks,
Namhyung

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

* Re: [PATCH] Revert "perf machine: Fix paranoid check in machine__set_kernel_mmap()"
  2018-04-12  1:57                   ` Namhyung Kim
@ 2018-04-13  0:09                     ` Kim Phillips
  2018-04-13  7:36                       ` Namhyung Kim
  0 siblings, 1 reply; 36+ messages in thread
From: Kim Phillips @ 2018-04-13  0:09 UTC (permalink / raw)
  To: Namhyung Kim
  Cc: Arnaldo Carvalho de Melo, Jiri Olsa, Jiri Olsa, lkml,
	Ingo Molnar, David Ahern, Alexander Shishkin, Peter Zijlstra,
	kernel-team

On Thu, 12 Apr 2018 10:57:56 +0900
Namhyung Kim <namhyung@kernel.org> wrote:

> On Wed, Apr 11, 2018 at 07:29:40PM -0500, Kim Phillips wrote:
> > On Thu, 12 Apr 2018 08:31:09 +0900
> > Namhyung Kim <namhyung@kernel.org> wrote:
> > > On Wed, Apr 11, 2018 at 06:07:52PM -0500, Kim Phillips wrote:
> > > > ---
> > > > It's not clear to me what the specific intent of the original commit
> > > > was, thus the revert.
> > > 
> > > Hmm.. maybe your kernel map has non-zero start and zero end.  I
> > 
> > On x86, the first line in /proc/kallsyms is:
> > 
> > 0000000000000000 A irq_stack_union
> > 
> > On arm64, it's:
> > 
> > ffff200008080000 t _head
> > 
> > Another arm64 box has:
> > 
> > ffff000008080000 t _head
> > 
> > (neither have RANDOMIZE_BASE set FWIW)
> > 
> > > thought it was just from an old or invalid data.  But now I think that
> > 
> > It would be good to know what that was, yes.
> > 
> > > overflow can create it..  could you please show me the mmap event?
> > > 
> > >   $ perf script --show-mmap-events
> > 
> > Here you go:
> > 
> >          swapper     0 [000]     0.000000: PERF_RECORD_MMAP -1/0: [0xffff200008080000(0xdffff7f7ffff) @ 0xffff200008080000]: x [kernel.kallsyms]_text
> 
>    0xffff200008080000
>  +     0xdffff7f7ffff
>  --------------------
>    0xffffffffffffffff
> 
> So it should have ~0ULL of the 'end' already.  I don't know why it
> caused the problem..  Was it from the `perf.good`?

There's no difference between the output of perf.good and perf.bad (the
difference between them is this reversion patch, .good being the one
that includes it).

> >          swapper     0 [000]     0.000000: PERF_RECORD_MMAP -1/0: [0xffff2000021e0000(0x18000) @ 0]: x /lib/modules/4.16.0+/kernel/drivers/bus/arm-ccn.ko
> 
> Hmm.. also it seems arm64 loads modules under the kernel.  Then the
> fixup logic in machine__create_kernel_maps() won't work.  Also as we

you mean this:

void __map_groups__fixup_end(struct map_groups *mg, enum map_type type)
...
                if (!curr->end)
                        curr->end = next->start;

?  Module symbol resolution is working, however.  Maybe because this
'paranoid' check was setting all the end addresses to ~0ULL?  Does the
design assume what maps__first() returns always has the lowest address,
and they're in sorted order?  If so, what's the fix, to re-sort
map_groups afterwards?

> don't use the map_groups__fixup_end() anymore 

?  I see map_groups__fixup_end() still being called.

> I think it's ok just
> checking the end address.

Where?  In machine__set_kernel_mmap(), like this reversion does?

The original commit says:

    The machine__set_kernel_mmap() is to setup addresses of the kernel map
    using external info.  But it has a check when the address is given from
    an incorrect input which should have the start and end address of 0
    (i.e. machine__process_kernel_mmap_event).
    
    But we also use the end address of 0 for a valid input so change it to
    check both start and end addresses.

yet the comment above the code says:

                 * Be a bit paranoid here, some perf.data file came with
                 * a zero sized synthesized MMAP event for the kernel.

I tracked the first comment insertion down to this commit:

commit 10fe12ef631a7e85022ed26304a37f033a6a95b8
Author: Arnaldo Carvalho de Melo <acme@redhat.com>
Date:   Sat Feb 20 19:53:13 2010 -0200

    perf symbols: Fix up map end too on modular kernels with no modules installed
    
    In 2161db9 we stopped failing when not finding modules when
    asked too, but then the kernel maps (just one, for vmlinux)
    wasn't having its ->end field correctly set up, so symbols were
    not being found for the vmlinux map because its range was 0-0.

which, when reading that last part, one would assume start == end == 0,
therefore size also == 0, the comment only talks about a zero *sized*
event...so did the original commit 1d12cec6ce99 "perf machine: Fix
paranoid check in machine__set_kernel_mmap()" really fix that case?
Because it checks start == 0, not necessarily the size...

If not, can it be reverted until we figure out what's going on with
arm64?  It's causing a regression in the meantime...

Thanks,

Kim

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

* Re: [PATCH] Revert "perf machine: Fix paranoid check in machine__set_kernel_mmap()"
  2018-04-13  0:09                     ` Kim Phillips
@ 2018-04-13  7:36                       ` Namhyung Kim
  0 siblings, 0 replies; 36+ messages in thread
From: Namhyung Kim @ 2018-04-13  7:36 UTC (permalink / raw)
  To: Kim Phillips
  Cc: Arnaldo Carvalho de Melo, Jiri Olsa, Jiri Olsa, lkml,
	Ingo Molnar, David Ahern, Alexander Shishkin, Peter Zijlstra,
	kernel-team

On Thu, Apr 12, 2018 at 07:09:54PM -0500, Kim Phillips wrote:
> On Thu, 12 Apr 2018 10:57:56 +0900
> Namhyung Kim <namhyung@kernel.org> wrote:
> 
> > On Wed, Apr 11, 2018 at 07:29:40PM -0500, Kim Phillips wrote:
> > > On Thu, 12 Apr 2018 08:31:09 +0900
> > > Namhyung Kim <namhyung@kernel.org> wrote:
> > > > overflow can create it..  could you please show me the mmap event?
> > > > 
> > > >   $ perf script --show-mmap-events
> > > 
> > > Here you go:
> > > 
> > >          swapper     0 [000]     0.000000: PERF_RECORD_MMAP -1/0: [0xffff200008080000(0xdffff7f7ffff) @ 0xffff200008080000]: x [kernel.kallsyms]_text
> > 
> >    0xffff200008080000
> >  +     0xdffff7f7ffff
> >  --------------------
> >    0xffffffffffffffff
> > 
> > So it should have ~0ULL of the 'end' already.  I don't know why it
> > caused the problem..  Was it from the `perf.good`?
> 
> There's no difference between the output of perf.good and perf.bad (the
> difference between them is this reversion patch, .good being the one
> that includes it).

Strange.. I have no idea what's the problem if the end is already
~0ULL then.


> 
> > >          swapper     0 [000]     0.000000: PERF_RECORD_MMAP -1/0: [0xffff2000021e0000(0x18000) @ 0]: x /lib/modules/4.16.0+/kernel/drivers/bus/arm-ccn.ko
> > 
> > Hmm.. also it seems arm64 loads modules under the kernel.  Then the
> > fixup logic in machine__create_kernel_maps() won't work.  Also as we
> 
> you mean this:
> 
> void __map_groups__fixup_end(struct map_groups *mg, enum map_type type)
> ...
>                 if (!curr->end)
>                         curr->end = next->start;
> 
> ?

Right.  For the fixup routine to work, a map should have 0 end.


> Module symbol resolution is working, however.  Maybe because this
> 'paranoid' check was setting all the end addresses to ~0ULL?

Only if the end was 0.  Modules should have non-zero end.


> Does the
> design assume what maps__first() returns always has the lowest address,
> and they're in sorted order?  If so, what's the fix, to re-sort
> map_groups afterwards?

I think it's another problem but agree with you to fix it sorted.


> 
> > don't use the map_groups__fixup_end() anymore 
> 
> ?  I see map_groups__fixup_end() still being called.

Oops, sorry.  I looked a wrong branch (which I removed it but never
sent to the LKML).


> 
> > I think it's ok just checking the end address.
> 
> Where?  In machine__set_kernel_mmap(), like this reversion does?

Yes, the reason is all other maps (i.e. modules) are already have
non-zero end and we can fixup the end of kernel manually.


> 
> The original commit says:
> 
>     The machine__set_kernel_mmap() is to setup addresses of the kernel map
>     using external info.  But it has a check when the address is given from
>     an incorrect input which should have the start and end address of 0
>     (i.e. machine__process_kernel_mmap_event).
>     
>     But we also use the end address of 0 for a valid input so change it to
>     check both start and end addresses.
> 
> yet the comment above the code says:
> 
>                  * Be a bit paranoid here, some perf.data file came with
>                  * a zero sized synthesized MMAP event for the kernel.
> 
> I tracked the first comment insertion down to this commit:
> 
> commit 10fe12ef631a7e85022ed26304a37f033a6a95b8
> Author: Arnaldo Carvalho de Melo <acme@redhat.com>
> Date:   Sat Feb 20 19:53:13 2010 -0200
> 
>     perf symbols: Fix up map end too on modular kernels with no modules installed
>     
>     In 2161db9 we stopped failing when not finding modules when
>     asked too, but then the kernel maps (just one, for vmlinux)
>     wasn't having its ->end field correctly set up, so symbols were
>     not being found for the vmlinux map because its range was 0-0.
> 
> which, when reading that last part, one would assume start == end == 0,
> therefore size also == 0, the comment only talks about a zero *sized*
> event...so did the original commit 1d12cec6ce99 "perf machine: Fix
> paranoid check in machine__set_kernel_mmap()" really fix that case?
> Because it checks start == 0, not necessarily the size...

As I said I thought it only cares the start == end == 0 case and now
the problem is fixed.  So I added the start check for the fixup
routine to take care of the end address.  Otherwise kernel might have
an overlap with some module(s).

> 
> If not, can it be reverted until we figure out what's going on with
> arm64?  It's causing a regression in the meantime...

I think the right solution would be

1. sort map groups
2. set kernel end to ~0ULL in machine__create_kernel_maps()
3. fix the kernel end to the start of next module (if any) manually
   instead of calling map_groups__fixup_end()

Thanks,
Namhyung

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

end of thread, other threads:[~2018-04-13  7:40 UTC | newest]

Thread overview: 36+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-02-15 12:26 [PATCHv3 0/9] perf tool: Assorted fixes Jiri Olsa
2018-02-15 12:26 ` [PATCH 1/9] tools lib symbol: Skip non-address kallsyms line Jiri Olsa
2018-02-17 11:24   ` [tip:perf/core] " tip-bot for Jiri Olsa
2018-02-15 12:26 ` [PATCH 2/9] perf tools: Check if we read regular file in dso__load Jiri Olsa
2018-02-17 11:24   ` [tip:perf/core] perf symbols: Check if we read regular file in dso__load() tip-bot for Jiri Olsa
2018-02-15 12:26 ` [PATCH 3/9] perf tools: Free root_dir in machine__init error path Jiri Olsa
2018-02-17 11:25   ` [tip:perf/core] perf machine: Free root_dir in machine__init() " tip-bot for Jiri Olsa
2018-02-15 12:26 ` [PATCH 4/9] perf tools: Move kernel mmap name into struct machine Jiri Olsa
2018-02-17 11:25   ` [tip:perf/core] perf machine: " tip-bot for Jiri Olsa
2018-02-15 12:26 ` [PATCH 5/9] perf tools: Generalize machine__set_kernel_mmap function Jiri Olsa
2018-02-17 11:26   ` [tip:perf/core] perf machine: Generalize machine__set_kernel_mmap() tip-bot for Jiri Olsa
2018-02-15 12:26 ` [PATCH 6/9] perf tools: Don't search for active kernel start in __machine__create_kernel_maps Jiri Olsa
2018-02-17 11:26   ` [tip:perf/core] perf machine: " tip-bot for Jiri Olsa
2018-02-19  2:20   ` [PATCH 6/9] perf tools: " Namhyung Kim
2018-02-19 10:01     ` Jiri Olsa
2018-02-19 10:19       ` Namhyung Kim
2018-02-19 10:49         ` Jiri Olsa
2018-02-19 12:18           ` Arnaldo Carvalho de Melo
2018-04-11 23:07             ` [PATCH] Revert "perf machine: Fix paranoid check in machine__set_kernel_mmap()" Kim Phillips
2018-04-11 23:31               ` Namhyung Kim
2018-04-12  0:29                 ` Kim Phillips
2018-04-12  1:57                   ` Namhyung Kim
2018-04-13  0:09                     ` Kim Phillips
2018-04-13  7:36                       ` Namhyung Kim
2018-02-21 10:25         ` [tip:perf/core] perf machine: Fix paranoid check in machine__set_kernel_mmap() tip-bot for Namhyung Kim
2018-02-19 12:21     ` [PATCH 6/9] perf tools: Don't search for active kernel start in __machine__create_kernel_maps Arnaldo Carvalho de Melo
2018-02-19 14:05       ` Namhyung Kim
2018-02-15 12:26 ` [PATCH 7/9] perf tools: Remove machine__load_kallsyms function Jiri Olsa
2018-02-17 11:27   ` [tip:perf/core] perf machine: Remove machine__load_kallsyms() tip-bot for Jiri Olsa
2018-02-15 12:26 ` [PATCH 8/9] perf tools: Do not create kernel maps in sample__resolve Jiri Olsa
2018-02-17 11:27   ` [tip:perf/core] perf tools: Do not create kernel maps in sample__resolve() tip-bot for Jiri Olsa
2018-02-15 12:26 ` [PATCH 9/9] perf tests: Use arch__compare_symbol_names to compare symbols Jiri Olsa
2018-02-15 14:27   ` Arnaldo Carvalho de Melo
2018-02-15 14:48     ` Naveen N. Rao
2018-02-15 15:10       ` Arnaldo Carvalho de Melo
2018-02-17 11:28   ` [tip:perf/core] " tip-bot for Jiri Olsa

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.