Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f66a889d authored by Arnaldo Carvalho de Melo's avatar Arnaldo Carvalho de Melo
Browse files

perf evlist: Introduce poll method for common code idiom



Since we have access two evlist members in all these poll calls, provide
a helper.

This will also help to make the patch introducing the pollfd class more
clear, as the evlist specific uses will be hiden away
perf_evlist__poll().

Acked-by: default avatarJiri Olsa <jolsa@kernel.org>
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Corey Ashford <cjashfor@linux.vnet.ibm.com>
Cc: David Ahern <dsahern@gmail.com>
Cc: Frederic Weisbecker <fweisbec@gmail.com>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Jean Pihet <jean.pihet@linaro.org>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Link: http://lkml.kernel.org/n/tip-jr9d4aop4lvy9453qahbcgp0@git.kernel.org


Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
parent 0a04c9e0
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -459,7 +459,7 @@ static int __cmd_record(struct record *rec, int argc, const char **argv)
		if (hits == rec->samples) {
			if (done)
				break;
			err = poll(rec->evlist->pollfd, rec->evlist->nr_fds, -1);
			err = perf_evlist__poll(rec->evlist, -1);
			/*
			 * Propagate error, only if there's any. Ignore positive
			 * number of returned events and interrupt error.
+2 −2
Original line number Diff line number Diff line
@@ -964,7 +964,7 @@ static int __cmd_top(struct perf_top *top)
                perf_evlist__enable(top->evlist);

	/* Wait for a minimal set of events before starting the snapshot */
	poll(top->evlist->pollfd, top->evlist->nr_fds, 100);
	perf_evlist__poll(top->evlist, 100);

	perf_top__mmap_read(top);

@@ -991,7 +991,7 @@ static int __cmd_top(struct perf_top *top)
		perf_top__mmap_read(top);

		if (hits == top->samples)
			ret = poll(top->evlist->pollfd, top->evlist->nr_fds, 100);
			ret = perf_evlist__poll(top->evlist, 100);
	}

	ret = 0;
+1 −1
Original line number Diff line number Diff line
@@ -2171,7 +2171,7 @@ static int trace__run(struct trace *trace, int argc, const char **argv)
	if (trace->nr_events == before) {
		int timeout = done ? 100 : -1;

		if (poll(evlist->pollfd, evlist->nr_fds, timeout) > 0)
		if (perf_evlist__poll(evlist, timeout) > 0)
			goto again;
	} else {
		goto again;
+1 −1
Original line number Diff line number Diff line
@@ -105,7 +105,7 @@ int test__syscall_open_tp_fields(void)
		}

		if (nr_events == before)
			poll(evlist->pollfd, evlist->nr_fds, 10);
			perf_evlist__poll(evlist, 10);

		if (++nr_polls > 5) {
			pr_debug("%s: no events!\n", __func__);
+1 −1
Original line number Diff line number Diff line
@@ -268,7 +268,7 @@ int test__PERF_RECORD(void)
		 * perf_event_attr.wakeup_events, just PERF_EVENT_SAMPLE does.
		 */
		if (total_events == before && false)
			poll(evlist->pollfd, evlist->nr_fds, -1);
			perf_evlist__poll(evlist, -1);

		sleep(1);
		if (++wakeups > 5) {
Loading