[PATCH v4 0/4] add epoll_pwait2 syscall

From: Willem de Bruijn
Date: Sat Nov 21 2020 - 09:44:07 EST


From: Willem de Bruijn <willemb@xxxxxxxxxx>

Enable nanosecond timeouts for epoll.

Analogous to pselect and ppoll, introduce an epoll_wait syscall
variant that takes a struct timespec instead of int timeout.

See patch 2 for more details.

patch 1: pre patch cleanup: convert internal epoll to timespec64
patch 2: add syscall
patch 3: wire up syscall
patch 4: selftest

Applies cleanly to next-20201120
No update to man-pages since v3, see commit
https://lore.kernel.org/patchwork/patch/1341103/

Willem de Bruijn (4):
epoll: convert internal api to timespec64
epoll: add syscall epoll_pwait2
epoll: wire up syscall epoll_pwait2
selftests/filesystems: expand epoll with epoll_pwait2

arch/alpha/kernel/syscalls/syscall.tbl | 1 +
arch/arm/tools/syscall.tbl | 1 +
arch/arm64/include/asm/unistd.h | 2 +-
arch/arm64/include/asm/unistd32.h | 2 +
arch/ia64/kernel/syscalls/syscall.tbl | 1 +
arch/m68k/kernel/syscalls/syscall.tbl | 1 +
arch/microblaze/kernel/syscalls/syscall.tbl | 1 +
arch/mips/kernel/syscalls/syscall_n32.tbl | 1 +
arch/mips/kernel/syscalls/syscall_n64.tbl | 1 +
arch/mips/kernel/syscalls/syscall_o32.tbl | 1 +
arch/parisc/kernel/syscalls/syscall.tbl | 1 +
arch/powerpc/kernel/syscalls/syscall.tbl | 1 +
arch/s390/kernel/syscalls/syscall.tbl | 1 +
arch/sh/kernel/syscalls/syscall.tbl | 1 +
arch/sparc/kernel/syscalls/syscall.tbl | 1 +
arch/x86/entry/syscalls/syscall_32.tbl | 1 +
arch/x86/entry/syscalls/syscall_64.tbl | 1 +
arch/xtensa/kernel/syscalls/syscall.tbl | 1 +
fs/eventpoll.c | 130 ++++++++++++++----
include/linux/compat.h | 6 +
include/linux/syscalls.h | 5 +
include/uapi/asm-generic/unistd.h | 4 +-
kernel/sys_ni.c | 2 +
.../filesystems/epoll/epoll_wakeup_test.c | 72 ++++++++++
24 files changed, 210 insertions(+), 29 deletions(-)

--
2.29.2.454.gaff20da3a2-goog