Mind this fixlet for using et/oneshot and the multiq option.
diff --git a/tools/perf/bench/epoll-wait.c b/tools/perf/bench/epoll-wait.c index c4c5ef60feb4..4e4efc5cfe22 100644 --- a/tools/perf/bench/epoll-wait.c +++ b/tools/perf/bench/epoll-wait.c @@ -215,13 +215,13 @@ static void *workerfn(void *arg) if (et) { ev.events = EPOLLIN | EPOLLET; - ret = epoll_ctl(epollfd, EPOLL_CTL_ADD, fd, &ev); + ret = epoll_ctl(efd, EPOLL_CTL_ADD, fd, &ev); } if (oneshot) { /* rearm the file descriptor with a new event mask */ ev.events |= EPOLLIN | EPOLLONESHOT; - ret = epoll_ctl(epollfd, EPOLL_CTL_MOD, fd, &ev); + ret = epoll_ctl(efd, EPOLL_CTL_MOD, fd, &ev); } ops++; @@ -249,7 +249,7 @@ static void nest_epollfd(struct worker *w) for (i = 0; i < nested; i++) { epollfdp[i] = epoll_create(1); - if (epollfd < 0) + if (epollfdp[i] < 0) err(EXIT_FAILURE, "epoll_create"); }