diff options
Diffstat (limited to 'tools/perf/tests')
| -rw-r--r-- | tools/perf/tests/perf-record.c | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/tools/perf/tests/perf-record.c b/tools/perf/tests/perf-record.c index 72d8881873b0..b8a7056519ac 100644 --- a/tools/perf/tests/perf-record.c +++ b/tools/perf/tests/perf-record.c | |||
| @@ -50,7 +50,7 @@ int test__PERF_RECORD(void) | |||
| 50 | struct perf_sample sample; | 50 | struct perf_sample sample; |
| 51 | const char *cmd = "sleep"; | 51 | const char *cmd = "sleep"; |
| 52 | const char *argv[] = { cmd, "1", NULL, }; | 52 | const char *argv[] = { cmd, "1", NULL, }; |
| 53 | char *bname; | 53 | char *bname, *mmap_filename; |
| 54 | u64 prev_time = 0; | 54 | u64 prev_time = 0; |
| 55 | bool found_cmd_mmap = false, | 55 | bool found_cmd_mmap = false, |
| 56 | found_libc_mmap = false, | 56 | found_libc_mmap = false, |
| @@ -212,6 +212,7 @@ int test__PERF_RECORD(void) | |||
| 212 | 212 | ||
| 213 | if ((type == PERF_RECORD_COMM || | 213 | if ((type == PERF_RECORD_COMM || |
| 214 | type == PERF_RECORD_MMAP || | 214 | type == PERF_RECORD_MMAP || |
| 215 | type == PERF_RECORD_MMAP2 || | ||
| 215 | type == PERF_RECORD_FORK || | 216 | type == PERF_RECORD_FORK || |
| 216 | type == PERF_RECORD_EXIT) && | 217 | type == PERF_RECORD_EXIT) && |
| 217 | (pid_t)event->comm.pid != evlist->workload.pid) { | 218 | (pid_t)event->comm.pid != evlist->workload.pid) { |
| @@ -220,7 +221,8 @@ int test__PERF_RECORD(void) | |||
| 220 | } | 221 | } |
| 221 | 222 | ||
| 222 | if ((type == PERF_RECORD_COMM || | 223 | if ((type == PERF_RECORD_COMM || |
| 223 | type == PERF_RECORD_MMAP) && | 224 | type == PERF_RECORD_MMAP || |
| 225 | type == PERF_RECORD_MMAP2) && | ||
| 224 | event->comm.pid != event->comm.tid) { | 226 | event->comm.pid != event->comm.tid) { |
| 225 | pr_debug("%s with different pid/tid!\n", name); | 227 | pr_debug("%s with different pid/tid!\n", name); |
| 226 | ++errs; | 228 | ++errs; |
| @@ -236,7 +238,12 @@ int test__PERF_RECORD(void) | |||
| 236 | case PERF_RECORD_EXIT: | 238 | case PERF_RECORD_EXIT: |
| 237 | goto found_exit; | 239 | goto found_exit; |
| 238 | case PERF_RECORD_MMAP: | 240 | case PERF_RECORD_MMAP: |
| 239 | bname = strrchr(event->mmap.filename, '/'); | 241 | mmap_filename = event->mmap.filename; |
| 242 | goto check_bname; | ||
| 243 | case PERF_RECORD_MMAP2: | ||
| 244 | mmap_filename = event->mmap2.filename; | ||
| 245 | check_bname: | ||
| 246 | bname = strrchr(mmap_filename, '/'); | ||
| 240 | if (bname != NULL) { | 247 | if (bname != NULL) { |
| 241 | if (!found_cmd_mmap) | 248 | if (!found_cmd_mmap) |
| 242 | found_cmd_mmap = !strcmp(bname + 1, cmd); | 249 | found_cmd_mmap = !strcmp(bname + 1, cmd); |
| @@ -245,7 +252,7 @@ int test__PERF_RECORD(void) | |||
| 245 | if (!found_ld_mmap) | 252 | if (!found_ld_mmap) |
| 246 | found_ld_mmap = !strncmp(bname + 1, "ld", 2); | 253 | found_ld_mmap = !strncmp(bname + 1, "ld", 2); |
| 247 | } else if (!found_vdso_mmap) | 254 | } else if (!found_vdso_mmap) |
| 248 | found_vdso_mmap = !strcmp(event->mmap.filename, "[vdso]"); | 255 | found_vdso_mmap = !strcmp(mmap_filename, "[vdso]"); |
| 249 | break; | 256 | break; |
| 250 | 257 | ||
| 251 | case PERF_RECORD_SAMPLE: | 258 | case PERF_RECORD_SAMPLE: |
