Subject: Re: [PATCH openvswitch] netlink: Implement & enable memory mapped netlink i/o

From: Thomas Graf <[email-masked]>
Date: Wed, 27 Nov 2013 23:51:20 +0100

On 11/26/2013 12:02 AM, Ben Pfaff wrote:
> On Thu, Nov 21, 2013 at 07:16:54PM +0100, Thomas Graf wrote:
>> Based on the initial patch by Cong Wang posted a couple of months
>> ago.
>>
>> This is the user space counterpart needed for the kernel patch
>> '[PATCH net-next 3/8] openvswitch: Enable memory mapped Netlink i/o'
>>
>> Allows the kernel to construct Netlink messages on memory mapped
>> buffers and thus avoids copying. The functionality is enabled on
>> sockets used for unicast traffic.
>>
>> Further optimizations are possible by avoiding the copy into the
>> ofpbuf after reading.
>>
>> Cc: Cong Wang <[email-masked]>
>> Signed-off-by: Thomas Graf <[email-masked]>
>
> Does this depend on other patches or some specific Linux kernel
> headers?  It doesn't build here on GCC (similar results with Clang):

Yes, it depends on a sufficiently recent <linux/netlink.h>. We can
either #ifdef the mmap code or we provide a local copy of
<linux/netlink.h> in include/linux. The code automatically falls back if
the kernel does not support NL MMAP so that seems superior.

What do you prefer?