soreuseport: use "unsigned int" in __reuseport_alloc()
Subsystems (3)
PATCH 1/1 soreuseport: use "unsigned int" in __reuseport_alloc()
Number of sockets is limited by 16-bit, so 64-bit allocation will never happen.
16-bit ops are the worst code density-wise on x86_64 because of additional prefix (66).
Space savings:
add/remove: 0/0 grow/shrink: 0/1 up/down: 0/-3 (-3)
function old new delta
reuseport_add_sock 539 536 -3
---
net/core/sock_reuseport.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
net/core/sock_reuseport.c +2 -2
@@ -13,9 +13,9 @@static DEFINE_SPINLOCK (reuseport_lock); -static struct sock_reuseport *__reuseport_alloc (u16 max_socks) +static struct sock_reuseport *__reuseport_alloc (unsigned int max_socks) { -size_t size =sizeof (struct sock_reuseport ) + +unsigned int size =sizeof (struct sock_reuseport ) +sizeof (struct sock *) * max_socks;struct sock_reuseport *reuse =kzalloc (size,GFP_ATOMIC );
From: Alexey Dobriyan <[email protected]>
Date: Mon, 3 Apr 2017 01:18:23 +0300
Quoted 6 lines
Number of sockets is limited by 16-bit, so 64-bit allocation will never happen.
16-bit ops are the worst code density-wise on
x86_64because of additional prefix (66).
Quoted 7 lines
Space savings:
add/remove: 0/0 grow/shrink: 0/1 up/down: 0/-3 (-3)
function old new delta
reuseport_add_sock539 536 -3Signed-off-by Alexey Dobriyan <[email protected]>
Applied.