diff options
author | Riku Voipio <riku.voipio@linaro.org> | 2015-05-29 12:36:11 -0300 |
---|---|---|
committer | Arnaldo Carvalho de Melo <acme@redhat.com> | 2015-05-29 12:43:41 -0300 |
commit | fbb2df231e11d8086dc51df73376b16407463de1 (patch) | |
tree | 8587b31f27785694762d62dee715f1f94b2241b0 /tools/perf/tests/open-syscall-tp-fields.c | |
parent | 43f322b4ab3f203d8eefbdad6e58e1637221e4a7 (diff) |
perf tests: Aename open*.c to openat*.c
Since the test being tested is now openat rather than open, rename the
files to make it explicit. The patch is separeted from the first to make
it simpler to deal with any potential conflicts in the Makefile
Signed-off-by: Riku Voipio <riku.voipio@linaro.org>
Reviewed-by: Ingo Molnar <mingo@kernel.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Link: http://lkml.kernel.org/r/1429192375-13706-3-git-send-email-riku.voipio@linaro.org
[ Fixed it up wrt Build files ]
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools/perf/tests/open-syscall-tp-fields.c')
-rw-r--r-- | tools/perf/tests/open-syscall-tp-fields.c | 121 |
1 files changed, 0 insertions, 121 deletions
diff --git a/tools/perf/tests/open-syscall-tp-fields.c b/tools/perf/tests/open-syscall-tp-fields.c deleted file mode 100644 index 6245221479d7..000000000000 --- a/tools/perf/tests/open-syscall-tp-fields.c +++ /dev/null @@ -1,121 +0,0 @@ -#include "perf.h" -#include "evlist.h" -#include "evsel.h" -#include "thread_map.h" -#include "tests.h" -#include "debug.h" - -int test__syscall_openat_tp_fields(void) -{ - struct record_opts opts = { - .target = { - .uid = UINT_MAX, - .uses_mmap = true, - }, - .no_buffering = true, - .freq = 1, - .mmap_pages = 256, - .raw_samples = true, - }; - const char *filename = "/etc/passwd"; - int flags = O_RDONLY | O_DIRECTORY; - struct perf_evlist *evlist = perf_evlist__new(); - struct perf_evsel *evsel; - int err = -1, i, nr_events = 0, nr_polls = 0; - char sbuf[STRERR_BUFSIZE]; - - if (evlist == NULL) { - pr_debug("%s: perf_evlist__new\n", __func__); - goto out; - } - - evsel = perf_evsel__newtp("syscalls", "sys_enter_openat"); - if (evsel == NULL) { - pr_debug("%s: perf_evsel__newtp\n", __func__); - goto out_delete_evlist; - } - - perf_evlist__add(evlist, evsel); - - err = perf_evlist__create_maps(evlist, &opts.target); - if (err < 0) { - pr_debug("%s: perf_evlist__create_maps\n", __func__); - goto out_delete_evlist; - } - - perf_evsel__config(evsel, &opts); - - evlist->threads->map[0] = getpid(); - - err = perf_evlist__open(evlist); - if (err < 0) { - pr_debug("perf_evlist__open: %s\n", - strerror_r(errno, sbuf, sizeof(sbuf))); - goto out_delete_evlist; - } - - err = perf_evlist__mmap(evlist, UINT_MAX, false); - if (err < 0) { - pr_debug("perf_evlist__mmap: %s\n", - strerror_r(errno, sbuf, sizeof(sbuf))); - goto out_delete_evlist; - } - - perf_evlist__enable(evlist); - - /* - * Generate the event: - */ - openat(AT_FDCWD, filename, flags); - - while (1) { - int before = nr_events; - - for (i = 0; i < evlist->nr_mmaps; i++) { - union perf_event *event; - - while ((event = perf_evlist__mmap_read(evlist, i)) != NULL) { - const u32 type = event->header.type; - int tp_flags; - struct perf_sample sample; - - ++nr_events; - - if (type != PERF_RECORD_SAMPLE) { - perf_evlist__mmap_consume(evlist, i); - continue; - } - - err = perf_evsel__parse_sample(evsel, event, &sample); - if (err) { - pr_err("Can't parse sample, err = %d\n", err); - goto out_delete_evlist; - } - - tp_flags = perf_evsel__intval(evsel, &sample, "flags"); - - if (flags != tp_flags) { - pr_debug("%s: Expected flags=%#x, got %#x\n", - __func__, flags, tp_flags); - goto out_delete_evlist; - } - - goto out_ok; - } - } - - if (nr_events == before) - perf_evlist__poll(evlist, 10); - - if (++nr_polls > 5) { - pr_debug("%s: no events!\n", __func__); - goto out_delete_evlist; - } - } -out_ok: - err = 0; -out_delete_evlist: - perf_evlist__delete(evlist); -out: - return err; -} |