Re: [PATCH RFC v2 0/7] epoll: Introduce new syscalls, epoll_ctl_batch and epoll_pwait1

From: Andy Lutomirski
Date: Wed Feb 04 2015 - 16:38:39 EST


On Wed, Feb 4, 2015 at 2:36 AM, Fam Zheng <famz@xxxxxxxxxx> wrote:
> 2) epoll_pwait1
> ---------------
>
> NAME
> epoll_pwait1 - wait for an I/O event on an epoll file descriptor
>
> SYNOPSIS
>
> #include <sys/epoll.h>
>
> int epoll_pwait1(int epfd, int flags,
> struct epoll_event *events,
> int maxevents,
> struct timespec *timeout,
> struct sigargs *sig);
>
> DESCRIPTION
>
> The epoll_pwait1 system call differs from epoll_pwait only in parameter
> types. The first difference is timeout, a pointer to timespec structure
> which allows nanosecond presicion; the second difference, which should
> probably be wrapper by glibc and only expose a sigset_t pointer as in
> pselect6.
>
> If timeout is NULL, it's treated as if 0 is specified in epoll_pwait
> (return immediately). Otherwise it's converted to nanosecond scalar,
> again, with the same convention as epoll_pwait's timeout.

Is the timeout absolute or relative?

I'd kind of like the ability to set timeouts on multiple clocks at the
same time, but I can live without that.

--Andy

>
> RETURN VALUE
>
> The same as said in epoll_pwait(2).
>
> ERRORS
>
> The same as said in man epoll_pwait(2), plus:
>
> EINVAL flags is not zero.
>
>
> CONFORMING TO
>
> epoll_pwait1() is Linux-specific.
>
> SEE ALSO
>
> epoll_create(2), epoll_ctl(2), epoll_wait(2), epoll_pwait(2), epoll(7)
>
> Fam Zheng (7):
> epoll: Extract epoll_wait_do and epoll_pwait_do
> epoll: Specify clockid explicitly
> epoll: Extract ep_ctl_do
> epoll: Add implementation for epoll_ctl_batch
> x86: Hook up epoll_ctl_batch syscall
> epoll: Add implementation for epoll_pwait1
> x86: Hook up epoll_pwait1 syscall
>
> arch/x86/syscalls/syscall_32.tbl | 2 +
> arch/x86/syscalls/syscall_64.tbl | 2 +
> fs/eventpoll.c | 241 ++++++++++++++++++++++++++-------------
> include/linux/syscalls.h | 9 ++
> include/uapi/linux/eventpoll.h | 11 ++
> 5 files changed, 186 insertions(+), 79 deletions(-)
>
> --
> 1.9.3
>



--
Andy Lutomirski
AMA Capital Management, LLC
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/