This is the new 'poll group' feature I have been working on improve
the efficiency in dealing with large number of connections, and its
first application to improve ovsdb-sever.

There is a known limitation:

The probing feature does not work properly. Poll group avoids
waking up a connection if there is no active I/O going on. An inactive
session won't send out probes. Timed wake up currently bypass those
connections per design.  I can think of a few options to improve / restore
this feature if necessary. In the mean time, the TCP keep alive option,
suggested on OVN IRC channel also looks attractive.
Subject: [poll group RFC 0/6] *** SUBJECT HERE ***

Andy Zhou (6):
  ovsdb-server: add --disable-epoll command line option
  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.
  ovsdb: Change jsonrpc server to make use of poll group

 lib/automake.mk           |   4 +
 lib/jsonrpc.c             |  74 ++++++++++-
 lib/jsonrpc.h             |   7 +
 lib/poll-group-epoll.c    | 321 ++++++++++++++++++++++++++++++++++++++++++++++
 lib/poll-group-provider.h | 157 +++++++++++++++++++++++
 lib/poll-group.c          | 224 ++++++++++++++++++++++++++++++++
 lib/poll-group.h          |  51 ++++++++
 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    |  74 ++++++++++-
 ovsdb/jsonrpc-server.h    |   2 +-
 ovsdb/ovsdb-server.c      |  43 +++++--
 17 files changed, 1116 insertions(+), 24 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
dev@openvswitch.org
http://openvswitch.org/mailman/listinfo/dev

Reply via email to