The patches are also available at github.
https://github.com/azhou-nicira/ovs-review/tree/poll-group
On Fri, Feb 19, 2016 at 12:40 PM, Andy Zhou <[email protected]> wrote:
> Introduce a new 'poll group' feature to improve the efficiency of poll
> loop in dealing with large number of connections, and its first application
> to improve ovsdb-server to scale up connections.
>
> Patch 6/6 commit log as some performance numbers. They are copied here
> for reference.
>
> For ovsdb-server to maintain 1000 idle connections over TCP with the
> default 5s probe interval, the CPU load droped from 48% to 14%.
>
> Andy Zhou (6):
> lib: Introduce poll group provider class
> lib: Add epoll poll group implementation for the Linux platform
> lib: Update stream class to support poll group.
> lib: Add poll group support in jsonrpc library.
> lib: add poll_block_waken_by_timer
> ovsdb: Change jsonrpc server to make use of poll group
>
> NEWS | 5 +-
> lib/automake.mk | 4 +
> lib/jsonrpc.c | 74 ++++++++++-
> lib/jsonrpc.h | 7 +
> lib/poll-group-epoll.c | 321
> ++++++++++++++++++++++++++++++++++++++++++++++
> lib/poll-group-provider.h | 156 ++++++++++++++++++++++
> lib/poll-group.c | 224 ++++++++++++++++++++++++++++++++
> lib/poll-group.h | 51 ++++++++
> lib/poll-loop.c | 11 ++
> lib/poll-loop.h | 3 +
> lib/stream-fd.c | 32 +++++
> lib/stream-provider.h | 17 +++
> lib/stream-ssl.c | 40 +++++-
> lib/stream-tcp.c | 3 +
> lib/stream-unix.c | 3 +
> lib/stream.c | 83 +++++++++++-
> lib/stream.h | 5 +
> ovsdb/jsonrpc-server.c | 75 ++++++++++-
> ovsdb/jsonrpc-server.h | 2 +-
> ovsdb/ovsdb-server.c | 43 +++++--
> tests/ovsdb-server.at | 11 ++
> 21 files changed, 1145 insertions(+), 25 deletions(-)
> create mode 100644 lib/poll-group-epoll.c
> create mode 100644 lib/poll-group-provider.h
> create mode 100644 lib/poll-group.c
> create mode 100644 lib/poll-group.h
>
> --
> 1.9.1
>
>
_______________________________________________
dev mailing list
[email protected]
http://openvswitch.org/mailman/listinfo/dev