Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1479508

[PATCH 08/12] perf record: Mark MAP_HUGETLB when synthesizing mmap events

Path csiph.com!news.mixmin.net!aioe.org!news.servidellagleba.it!bofh.it!news.nic.it!robomod
From Arnaldo Carvalho de Melo <acme@kernel.org>
Newsgroups linux.kernel
Subject [PATCH 08/12] perf record: Mark MAP_HUGETLB when synthesizing mmap events
Date Thu, 08 Sep 2016 22:50:02 +0200
Message-ID <sfeqK-2at-27@gated-at.bofh.it> (permalink)
References <sfeqJ-2at-3@gated-at.bofh.it>
X-Original-To Ingo Molnar <mingo@kernel.org>
X-Mailer git-send-email 2.7.4
X-Srs-Rewrite SMTP reverse-path rewritten from <acme@infradead.org> by bombadil.infradead.org. See http://www.infradead.org/rpr.html
Sender robomod@news.nic.it
List-ID <linux-kernel.vger.kernel.org>
X-Mailing-List linux-kernel@vger.kernel.org
Approved robomod@news.nic.it
Lines 56
Organization linux.* mail to news gateway
X-Original-Cc linux-kernel@vger.kernel.org, Wang Nan <wangnan0@huawei.com>, He Kuang <hekuang@huawei.com>, Hou Pengyang <houpengyang@huawei.com>, Zefan Li <lizefan@huawei.com>, Arnaldo Carvalho de Melo <acme@redhat.com>
X-Original-Date Thu, 8 Sep 2016 17:46:17 -0300
X-Original-Message-ID <1473367581-5996-9-git-send-email-acme@kernel.org>
X-Original-References <1473367581-5996-1-git-send-email-acme@kernel.org>
X-Original-Sender linux-kernel-owner@vger.kernel.org
Xref csiph.com linux.kernel:1479508

Show key headers only | View raw


From: Wang Nan <wangnan0@huawei.com>

When synthesizing mmap events, add MAP_HUGETLB map flag if the source of
mapping is file in hugetlbfs.

After this patch, perf can identify hugetlb mapping even if perf is
started after the mapping of huge pages (like with 'perf top').

Signed-off-by: Wang Nan <wangnan0@huawei.com>
Reviewed-by: Nilay Vaish <nilayvaish@gmail.com>
Cc: He Kuang <hekuang@huawei.com>
Cc: Hou Pengyang <houpengyang@huawei.com>
Cc: Zefan Li <lizefan@huawei.com>
Link: http://lkml.kernel.org/r/1473137909-142064-4-git-send-email-wangnan0@huawei.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
---
 tools/perf/util/event.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/tools/perf/util/event.c b/tools/perf/util/event.c
index 9ad7d32dba2b..6c3017139c67 100644
--- a/tools/perf/util/event.c
+++ b/tools/perf/util/event.c
@@ -1,5 +1,6 @@
 #include <linux/types.h>
 #include <sys/mman.h>
+#include <api/fs/fs.h>
 #include "event.h"
 #include "debug.h"
 #include "hist.h"
@@ -248,6 +249,10 @@ int perf_event__synthesize_mmap_events(struct perf_tool *tool,
 	bool truncation = false;
 	unsigned long long timeout = proc_map_timeout * 1000000ULL;
 	int rc = 0;
+#ifdef MAP_HUGETLB
+	const char *hugetlbfs_mnt = hugetlbfs__mountpoint();
+	int hugetlbfs_mnt_len = hugetlbfs_mnt ? strlen(hugetlbfs_mnt) : 0;
+#endif
 
 	if (machine__is_default_guest(machine))
 		return 0;
@@ -342,6 +347,12 @@ out:
 
 		if (!strcmp(execname, ""))
 			strcpy(execname, anonstr);
+#ifdef MAP_HUGETLB
+		if (!strncmp(execname, hugetlbfs_mnt, hugetlbfs_mnt_len)) {
+			strcpy(execname, anonstr);
+			event->mmap2.flags |= MAP_HUGETLB;
+		}
+#endif
 
 		size = strlen(execname) + 1;
 		memcpy(event->mmap2.filename, execname, size);
-- 
2.7.4

Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

[GIT PULL 00/12] perf/core improvements and fixes Arnaldo Carvalho de Melo <acme@kernel.org> - 2016-09-08 22:50 +0200
  [PATCH 07/12] tools lib api fs: Add hugetlbfs filesystem detector Arnaldo Carvalho de Melo <acme@kernel.org> - 2016-09-08 22:50 +0200
  [PATCH 02/12] perf top: Remove old kernel-only symbol filter Arnaldo Carvalho de Melo <acme@kernel.org> - 2016-09-08 22:50 +0200
  [PATCH 06/12] perf tools: Recognize hugetlb mapping as anon mapping Arnaldo Carvalho de Melo <acme@kernel.org> - 2016-09-08 22:50 +0200
  [PATCH 11/12] perf pmu: Support alternative sysfs cpumask Arnaldo Carvalho de Melo <acme@kernel.org> - 2016-09-08 22:50 +0200
  [PATCH 12/12] perf powerpc: Fix build-test failure Arnaldo Carvalho de Melo <acme@kernel.org> - 2016-09-08 22:50 +0200
  [PATCH 08/12] perf record: Mark MAP_HUGETLB when synthesizing mmap events Arnaldo Carvalho de Melo <acme@kernel.org> - 2016-09-08 22:50 +0200
  [PATCH 04/12] perf test vmlinux: Remove dead symbol_filter_t code Arnaldo Carvalho de Melo <acme@kernel.org> - 2016-09-08 22:50 +0200
  [PATCH 10/12] perf evlist: Only open events on CPUs an evsel permits Arnaldo Carvalho de Melo <acme@kernel.org> - 2016-09-08 22:50 +0200
  [PATCH 03/12] perf machine: Remove machine->symbol_filter and friends Arnaldo Carvalho de Melo <acme@kernel.org> - 2016-09-08 22:50 +0200
  Re: [GIT PULL 00/12] perf/core improvements and fixes Ingo Molnar <mingo@kernel.org> - 2016-09-09 07:50 +0200

csiph-web