Skip to contentSkip to conversation

soreuseport: use "unsigned int" in __reuseport_alloc()

PATCH Applied Alexey Dobriyan 2 participants 2 messages Apr 2, 2017 – Apr 4, 2017

Subsystems (3)
lore
Share & tools
lore
#0 lore raw

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);
 
maintainer Applied
#1 lore raw

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_64 because 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_sock 539 536 -3

Applied.