diff options
Diffstat (limited to 'tools/perf/tests/perf-record.c')
-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: |