netlink-socket: Reduce nl_sock_recv() from 2 (or more) system calls to 1.
authorBen Pfaff <blp@nicira.com>
Wed, 27 Jul 2011 21:56:03 +0000 (14:56 -0700)
committerBen Pfaff <blp@nicira.com>
Wed, 27 Jul 2011 21:56:03 +0000 (14:56 -0700)
commitfc999dda6a9e3f42add70b371889a7419ff569c2
treeac5fb1c453e96d1791cd5f418c0e9b06e9360cc2
parent5e9fd01b6ec0c488a4a24e481486557f97057bff
netlink-socket: Reduce nl_sock_recv() from 2 (or more) system calls to 1.

Until now, each attempt to receive a message from a Netlink socket has
taken at least two system calls, one to check the size of the message to
be received and a second one to delete the message from the socket buffer.
This commit switches to a new strategy that requires only one system call
per message received.

In my testing this increases the maximum flow setups per second by a little
over 10%.
lib/netlink-socket.c