tools lib api fs: Add hugetlbfs filesystem detector
authorWang Nan <wangnan0@huawei.com>
Tue, 6 Sep 2016 04:58:28 +0000 (04:58 +0000)
committerArnaldo Carvalho de Melo <acme@redhat.com>
Thu, 8 Sep 2016 15:34:43 +0000 (12:34 -0300)
Detect hugetlbfs. hugetlbfs__mountpoint() will be used during recording
to help identifying hugetlb mmaps: which should be recognized as anon
mapping.

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-3-git-send-email-wangnan0@huawei.com
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
tools/lib/api/fs/fs.c
tools/lib/api/fs/fs.h

index ba7094b..f99f49e 100644 (file)
 #define TRACEFS_MAGIC          0x74726163
 #endif
 
+#ifndef HUGETLBFS_MAGIC
+#define HUGETLBFS_MAGIC        0x958458f6
+#endif
+
 static const char * const sysfs__fs_known_mountpoints[] = {
        "/sys",
        0,
@@ -67,6 +71,10 @@ static const char * const tracefs__known_mountpoints[] = {
        0,
 };
 
+static const char * const hugetlbfs__known_mountpoints[] = {
+       0,
+};
+
 struct fs {
        const char              *name;
        const char * const      *mounts;
@@ -80,6 +88,7 @@ enum {
        FS__PROCFS  = 1,
        FS__DEBUGFS = 2,
        FS__TRACEFS = 3,
+       FS__HUGETLBFS = 4,
 };
 
 #ifndef TRACEFS_MAGIC
@@ -107,6 +116,11 @@ static struct fs fs__entries[] = {
                .mounts = tracefs__known_mountpoints,
                .magic  = TRACEFS_MAGIC,
        },
+       [FS__HUGETLBFS] = {
+               .name   = "hugetlbfs",
+               .mounts = hugetlbfs__known_mountpoints,
+               .magic  = HUGETLBFS_MAGIC,
+       },
 };
 
 static bool fs__read_mounts(struct fs *fs)
@@ -265,6 +279,7 @@ FS(sysfs,   FS__SYSFS);
 FS(procfs,  FS__PROCFS);
 FS(debugfs, FS__DEBUGFS);
 FS(tracefs, FS__TRACEFS);
+FS(hugetlbfs, FS__HUGETLBFS);
 
 int filename__read_int(const char *filename, int *value)
 {
index 16c9c2e..a63269f 100644 (file)
@@ -21,6 +21,7 @@ FS(sysfs)
 FS(procfs)
 FS(debugfs)
 FS(tracefs)
+FS(hugetlbfs)
 
 #undef FS