This patch on top of the memory mapped netlink I/O series is
meant to speed up dumps by dumping messages more aggressively.
Messages are dumped until half the ring is used, this is similar
to flow-control used with regular I/O with the difference that
all messages are constructed during a single poll call instead
of multiple recvmsg() calls.
The result is not as good as I expected, dumping 196611
routes using rtnl-route-dump from libmnl show the following
results (averaged over 10 runs):
user-time: -7.9%
system-time: -10.4%
real-time: +0.09%
CPU: -7.45%
Strangely the real time stays almost the same and CPU usage
decreases by a few percent - I would have expected a reduction
of real-time with identical CPU usage (99%). Not sure what
the reason is, will try to investigate further.