Lines Matching refs:eet
171 event_enable_timer__exit(&evlist->eet);
2272 struct event_enable_timer *eet;
2292 eet = zalloc(sizeof(*eet));
2293 if (!eet)
2296 eet->times = calloc(times_cnt, sizeof(*eet->times));
2297 if (!eet->times) {
2302 if (parse_event_enable_times(str, eet->times) != times_cnt) {
2307 eet->times_cnt = times_cnt;
2309 eet->timerfd = timerfd_create(CLOCK_MONOTONIC, TFD_CLOEXEC);
2310 if (eet->timerfd == -1) {
2316 eet->pollfd_pos = perf_evlist__add_pollfd(&evlist->core, eet->timerfd, NULL, POLLIN, flags);
2317 if (eet->pollfd_pos < 0) {
2318 err = eet->pollfd_pos;
2322 eet->evlist = evlist;
2323 evlist->eet = eet;
2324 opts->target.initial_delay = eet->times[0].start;
2329 close(eet->timerfd);
2331 zfree(&eet->times);
2333 free(eet);
2337 static int event_enable_timer__set_timer(struct event_enable_timer *eet, int ms)
2345 if (timerfd_settime(eet->timerfd, 0, &its, NULL) < 0) {
2352 int event_enable_timer__start(struct event_enable_timer *eet)
2356 if (!eet)
2359 ms = eet->times[0].end - eet->times[0].start;
2360 eet->times_step = 1;
2362 return event_enable_timer__set_timer(eet, ms);
2365 int event_enable_timer__process(struct event_enable_timer *eet)
2370 if (!eet)
2373 entries = eet->evlist->core.pollfd.entries;
2374 revents = entries[eet->pollfd_pos].revents;
2375 entries[eet->pollfd_pos].revents = 0;
2378 size_t step = eet->times_step;
2382 evlist__disable_non_dummy(eet->evlist);
2384 if (pos >= eet->times_cnt - 1) {
2386 event_enable_timer__set_timer(eet, 0);
2390 evlist__enable_non_dummy(eet->evlist);
2397 if (pos < eet->times_cnt) {
2398 int *times = (int *)eet->times; /* Accessing 'times' as array of int */
2401 eet->times_step = step;
2402 return event_enable_timer__set_timer(eet, ms);