Re: [PATCH v4 00/14] epoll: support pollable epoll from userspace

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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.




[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [Samba]     [Device Mapper]     [CEPH Development]

  Powered by Linux