diff options
author | Ben Pfaff <blp@nicira.com> | 2011-11-28 09:29:18 -0800 |
---|---|---|
committer | Ben Pfaff <blp@nicira.com> | 2011-11-28 09:29:18 -0800 |
commit | 8522ba0996907af86eb63afd4c69e9fd6bb1178a (patch) | |
tree | 81a2f5ac9259c324c36b4dbe84a3c1514fc4370f /lib/netlink-socket.h | |
parent | 3907401ce6c5a848797507fcd6bc97218d4847e2 (diff) |
dpif-linux: Use poll() internally in dpif_linux_recv().
Using poll() internally in dpif_linux_recv(), instead of relying
on the results of the main loop poll() call, brings netperf CRR
performance back within 1% of par versus the code base before the
poll_fd_woke() optimizations were introduced. It also increases
the ovs-benchmark results by about 5% versus that baseline, too.
My theory is that this is because the main loop takes long enough
that a significant number of packets can arrive during the main
loop itself, so this reduces the time before OVS gets to those
packets.
Diffstat (limited to 'lib/netlink-socket.h')
-rw-r--r-- | lib/netlink-socket.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/lib/netlink-socket.h b/lib/netlink-socket.h index b6356b9e..f2a5d3fa 100644 --- a/lib/netlink-socket.h +++ b/lib/netlink-socket.h @@ -60,6 +60,7 @@ int nl_sock_transact(struct nl_sock *, const struct ofpbuf *request, int nl_sock_drain(struct nl_sock *); void nl_sock_wait(const struct nl_sock *, short int events); +int nl_sock_fd(const struct nl_sock *); uint32_t nl_sock_pid(const struct nl_sock *); |