mirror of
https://github.com/torvalds/linux.git
synced 2026-03-08 01:04:41 +01:00
tcp: move __reqsk_free() out of line
Inlining __reqsk_free() is overkill, let's reclaim 2 Kbytes of text. $ scripts/bloat-o-meter -t vmlinux.old vmlinux.new add/remove: 2/4 grow/shrink: 2/14 up/down: 225/-2338 (-2113) Function old new delta __reqsk_free - 114 +114 sock_edemux 18 82 +64 inet_csk_listen_start 233 264 +31 __pfx___reqsk_free - 16 +16 __pfx_reqsk_queue_alloc 16 - -16 __pfx_reqsk_free 16 - -16 reqsk_queue_alloc 46 - -46 tcp_req_err 272 177 -95 reqsk_fastopen_remove 348 253 -95 cookie_bpf_check 157 62 -95 cookie_tcp_reqsk_alloc 387 290 -97 cookie_v4_check 1568 1465 -103 reqsk_free 105 - -105 cookie_v6_check 1519 1412 -107 sock_gen_put 187 78 -109 sock_pfree 212 82 -130 tcp_try_fastopen 1818 1683 -135 tcp_v4_rcv 3478 3294 -184 reqsk_put 306 90 -216 tcp_get_cookie_sock 551 318 -233 tcp_v6_rcv 3404 3141 -263 tcp_conn_request 2677 2384 -293 Total: Before=24887415, After=24885302, chg -0.01% Signed-off-by: Eric Dumazet <edumazet@google.com> Reviewed-by: Kuniyuki Iwashima <kuniyu@google.com> Link: https://patch.msgid.link/20260204055147.1682705-5-edumazet@google.com Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
7d2064eb73
commit
22c1264415
2 changed files with 11 additions and 8 deletions
|
|
@ -123,14 +123,7 @@ static inline struct sock *skb_steal_sock(struct sk_buff *skb,
|
|||
return sk;
|
||||
}
|
||||
|
||||
static inline void __reqsk_free(struct request_sock *req)
|
||||
{
|
||||
req->rsk_ops->destructor(req);
|
||||
if (req->rsk_listener)
|
||||
sock_put(req->rsk_listener);
|
||||
kfree(req->saved_syn);
|
||||
kmem_cache_free(req->rsk_ops->slab, req);
|
||||
}
|
||||
void __reqsk_free(struct request_sock *req);
|
||||
|
||||
static inline void reqsk_free(struct request_sock *req)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -919,6 +919,16 @@ struct request_sock *inet_reqsk_alloc(const struct request_sock_ops *ops,
|
|||
}
|
||||
EXPORT_SYMBOL(inet_reqsk_alloc);
|
||||
|
||||
void __reqsk_free(struct request_sock *req)
|
||||
{
|
||||
req->rsk_ops->destructor(req);
|
||||
if (req->rsk_listener)
|
||||
sock_put(req->rsk_listener);
|
||||
kfree(req->saved_syn);
|
||||
kmem_cache_free(req->rsk_ops->slab, req);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(__reqsk_free);
|
||||
|
||||
static struct request_sock *inet_reqsk_clone(struct request_sock *req,
|
||||
struct sock *sk)
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue