From: David Miller <da...@davemloft.net>
Date: Wed, 22 Mar 2017 19:43:57 -0700 (PDT)

> From: Subash Abhinov Kasiviswanathan <subas...@codeaurora.org>
> Date: Wed, 22 Mar 2017 20:00:41 -0600
> 
>> Certain system process significant unconnected UDP workload.
>> It would be preferrable to disable UDP early demux for those systems
>> and enable it for TCP only.
>> 
>> By disabling UDP demux, we see these slight gains on an ARM64 system-
>> 782 -> 788Mbps unconnected single stream UDPv4
>> 633 -> 654Mbps unconnected UDPv4 different sources
>> 
>> The performance impact can change based on CPU architecure and cache
>> sizes. There will not much difference seen if entire UDP hash table
>> is in cache.
>> 
>> Both sysctls are enabled by default to preserve existing behavior.
>> 
>> v1->v2: Change function pointer instead of adding conditional as
>> suggested by Stephen.
>> 
>> v2->v3: Read once in callers to avoid issues due to compiler
>> optimizations. Also update commit message with the tests.
>> 
>> v3>v4: Store and use read once result instead of querying pointer
>> again incorrectly.
>> 
>> Signed-off-by: Subash Abhinov Kasiviswanathan <subas...@codeaurora.org>
>> Suggested-by: Eric Dumazet <eduma...@google.com>
> 
> Applied, thanks.

This doesn't build with ipv6 as a module:

net/built-in.o: In function `proc_tcp_early_demux':
sysctl_net_ipv4.c:(.text+0x145cfc): undefined reference to 
`tcp_v6_early_demux_configure'
net/built-in.o: In function `proc_udp_early_demux':
sysctl_net_ipv4.c:(.text+0x145d4c): undefined reference to 
`udp_v6_early_demux_configure'
Makefile:983: recipe for target 'vmlinux' failed

Reply via email to