Skip to content

Commit

Permalink
proc: Enhance bcc_mapping_is_file_backed
Browse files Browse the repository at this point in the history
Cleanup the `strncmp` code and add a few more ignored map names
  • Loading branch information
vmg authored and drzaeus77 committed Jun 30, 2017
1 parent e0d99ed commit 8600ffc
Showing 1 changed file with 11 additions and 7 deletions.
18 changes: 11 additions & 7 deletions src/cc/bcc_proc.c
Original file line number Diff line number Diff line change
Expand Up @@ -61,14 +61,18 @@ char *bcc_procutils_which(const char *binpath) {
return 0;
}

#define STARTS_WITH(mapname, prefix) (!strncmp(mapname, prefix, sizeof(prefix)-1))

int bcc_mapping_is_file_backed(const char *mapname) {
return mapname[0] &&
strncmp(mapname, "//anon", sizeof("//anon") - 1) &&
strncmp(mapname, "/dev/zero", sizeof("/dev/zero") - 1) &&
strncmp(mapname, "/anon_hugepage", sizeof("/anon_hugepage") - 1) &&
strncmp(mapname, "[stack", sizeof("[stack") - 1) &&
strncmp(mapname, "/SYSV", sizeof("/SYSV") - 1) &&
strncmp(mapname, "[heap]", sizeof("[heap]") - 1);
return mapname[0] && !(
STARTS_WITH(mapname, "//anon") ||
STARTS_WITH(mapname, "/dev/zero") ||
STARTS_WITH(mapname, "/anon_hugepage") ||
STARTS_WITH(mapname, "[stack") ||
STARTS_WITH(mapname, "/SYSV") ||
STARTS_WITH(mapname, "[heap]") ||
STARTS_WITH(mapname, "[vsyscall]") ||
STARTS_WITH(mapname, "[vdso]"));
}

int bcc_procutils_each_module(int pid, bcc_procutils_modulecb callback,
Expand Down

0 comments on commit 8600ffc

Please sign in to comment.