On Sat, Nov 30, 2013 at 01:27:33PM +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.
>
> Signed-off-by: Thomas Graf <[email protected]>
Clang reports:
../lib/netlink-socket.c:330:12: error: cast from 'char *' to 'struct
nl_mmap_hdr *' increases required alignment from 1 to 4 [-Werror,-Wcast-align]
return (struct nl_mmap_hdr *)(start + r->head * sock->frame_size);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../lib/netlink-socket.c:369:22: error: implicit declaration of function
'__ALIGN_KERNEL' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
-> sock->frame_size)
^
../lib/netlink-protocol.h:213:26: note: expanded from macro 'NL_MMAP_HDRLEN'
#define NL_MMAP_HDRLEN NL_MMAP_MSG_ALIGN(sizeof(struct
nl_mmap_hdr))
^
../lib/netlink-protocol.h:212:32: note: expanded from macro
'NL_MMAP_MSG_ALIGN'
#define NL_MMAP_MSG_ALIGN(sz) __ALIGN_KERNEL(sz,
NL_MMAP_MSG_ALIGNMENT)
^
GCC reports:
../lib/netlink-socket.c: In function 'nl_sock_send_mmap':
../lib/netlink-socket.c:369:5: error: implicit declaration of function
'__ALIGN_KERNEL' [-Werror=implicit-function-declaration]
cc1: all warnings being treated as errors
Thanks,
Ben.
_______________________________________________
dev mailing list
[email protected]
http://openvswitch.org/mailman/listinfo/dev