Lines Matching defs:eet

171 	event_enable_timer__exit(&evlist->eet);
2290 struct event_enable_timer *eet;
2310 eet = zalloc(sizeof(*eet));
2311 if (!eet)
2314 eet->times = calloc(times_cnt, sizeof(*eet->times));
2315 if (!eet->times) {
2320 if (parse_event_enable_times(str, eet->times) != times_cnt) {
2325 eet->times_cnt = times_cnt;
2327 eet->timerfd = timerfd_create(CLOCK_MONOTONIC, TFD_CLOEXEC);
2328 if (eet->timerfd == -1) {
2334 eet->pollfd_pos = perf_evlist__add_pollfd(&evlist->core, eet->timerfd, NULL, POLLIN, flags);
2335 if (eet->pollfd_pos < 0) {
2336 err = eet->pollfd_pos;
2340 eet->evlist = evlist;
2341 evlist->eet = eet;
2342 opts->target.initial_delay = eet->times[0].start;
2347 close(eet->timerfd);
2349 zfree(&eet->times);
2351 free(eet);
2355 static int event_enable_timer__set_timer(struct event_enable_timer *eet, int ms)
2363 if (timerfd_settime(eet->timerfd, 0, &its, NULL) < 0) {
2370 int event_enable_timer__start(struct event_enable_timer *eet)
2374 if (!eet)
2377 ms = eet->times[0].end - eet->times[0].start;
2378 eet->times_step = 1;
2380 return event_enable_timer__set_timer(eet, ms);
2383 int event_enable_timer__process(struct event_enable_timer *eet)
2388 if (!eet)
2391 entries = eet->evlist->core.pollfd.entries;
2392 revents = entries[eet->pollfd_pos].revents;
2393 entries[eet->pollfd_pos].revents = 0;
2396 size_t step = eet->times_step;
2400 evlist__disable_non_dummy(eet->evlist);
2402 if (pos >= eet->times_cnt - 1) {
2404 event_enable_timer__set_timer(eet, 0);
2408 evlist__enable_non_dummy(eet->evlist);
2415 if (pos < eet->times_cnt) {
2416 int *times = (int *)eet->times; /* Accessing 'times' as array of int */
2419 eet->times_step = step;
2420 return event_enable_timer__set_timer(eet, ms);