aboutsummaryrefslogtreecommitdiff
path: root/lib/netlink-socket.h
diff options
context:
space:
mode:
authorBen Pfaff <blp@nicira.com>2011-11-28 09:29:18 -0800
committerBen Pfaff <blp@nicira.com>2011-11-28 09:29:18 -0800
commit8522ba0996907af86eb63afd4c69e9fd6bb1178a (patch)
tree81a2f5ac9259c324c36b4dbe84a3c1514fc4370f /lib/netlink-socket.h
parent3907401ce6c5a848797507fcd6bc97218d4847e2 (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.h1
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 *);