On Tue, 11 Jun 2019 16:54:44 +0200 Roman Penyaev <rpenyaev@xxxxxxx> wrote: > Hi all, > > This is v4 which introduces pollable epoll from userspace. A nicely presented patchset. > > ... > > ** Measurements > > In order to measure polling from userspace libevent was modified [1] and > bench_http benchmark (client and server) was used: > > o EPOLLET, original epoll: > > 20000 requests in 0.551306 sec. (36277.49 throughput) > Each took about 5.54 msec latency > 1600000bytes read. 0 errors. > > o EPOLLET + polling from userspace: > > 20000 requests in 0.475585 sec. (42053.47 throughput) > Each took about 4.78 msec latency > 1600000bytes read. 0 errors. It would be useful to include some words which describe the significance of this to real-world userspace. If a real application is sped up 0.000000001% then this isn't very exciting ;) > > ... > > epoll_create2(EPOLL_USERPOLL, max_items_nr); So a manpage update is due. It would be useful to send this along while people are reviewing the code changes. Please cc Michael Kerrisk and linux-man@xxxxxxxxxxxxxxx on everything. > > arch/alpha/kernel/syscalls/syscall.tbl | 2 + > 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 | 2 + > arch/m68k/kernel/syscalls/syscall.tbl | 2 + > arch/microblaze/kernel/syscalls/syscall.tbl | 1 + > arch/mips/kernel/syscalls/syscall_n32.tbl | 2 + > arch/mips/kernel/syscalls/syscall_n64.tbl | 2 + > arch/mips/kernel/syscalls/syscall_o32.tbl | 2 + > arch/parisc/kernel/syscalls/syscall.tbl | 2 + > arch/powerpc/kernel/syscalls/syscall.tbl | 2 + > arch/s390/kernel/syscalls/syscall.tbl | 2 + > arch/sh/kernel/syscalls/syscall.tbl | 2 + > arch/sparc/kernel/syscalls/syscall.tbl | 2 + > 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 | 925 ++++++++++++++++-- Wow. > include/linux/syscalls.h | 1 + > include/uapi/asm-generic/unistd.h | 4 +- > include/uapi/linux/eventpoll.h | 47 +- > kernel/sys_ni.c | 1 + > tools/testing/selftests/Makefile | 1 + > tools/testing/selftests/uepoll/.gitignore | 1 + > tools/testing/selftests/uepoll/Makefile | 16 + > .../uepoll/atomic-builtins-support.c | 13 + > tools/testing/selftests/uepoll/uepoll-test.c | 603 ++++++++++++ There's a lot to look at here. I guess now would be a good time to refresh and resend.