]> git.baikalelectronics.ru Git - kernel.git/commit
sctp: deduplicate identical skb_checksum_ops
authorMatteo Croce <mcroce@redhat.com>
Wed, 29 May 2019 15:39:41 +0000 (17:39 +0200)
committerDavid S. Miller <davem@davemloft.net>
Thu, 30 May 2019 21:35:44 +0000 (14:35 -0700)
commite3b3e5613ca58afed6c647782494ce29781be053
tree4e69ae36c4ebaf5489da91f29ce912eae8e7992b
parentcde2b040f47256e89a66ddfbada1bb0433afcbf3
sctp: deduplicate identical skb_checksum_ops

The same skb_checksum_ops struct is defined twice in two different places,
leading to code duplication. Declare it as a global variable into a common
header instead of allocating it on the stack on each function call.
bloat-o-meter reports a slight code shrink.

add/remove: 1/1 grow/shrink: 0/10 up/down: 128/-1282 (-1154)
Function                                     old     new   delta
sctp_csum_ops                                  -     128    +128
crc32c_csum_ops                               16       -     -16
sctp_rcv                                    6616    6583     -33
sctp_packet_pack                            4542    4504     -38
nf_conntrack_sctp_packet                    4980    4926     -54
execute_masked_set_action                   6453    6389     -64
tcf_csum_sctp                                575     428    -147
sctp_gso_segment                            1292    1126    -166
sctp_csum_check                              579     412    -167
sctp_snat_handler                            957     772    -185
sctp_dnat_handler                           1321    1132    -189
l4proto_manip_pkt                           2536    2313    -223
Total: Before=359297613, After=359296459, chg -0.00%

Reviewed-by: Xin Long <lucien.xin@gmail.com>
Signed-off-by: Matteo Croce <mcroce@redhat.com>
Acked-by: Neil Horman <nhorman@tuxdriver.com>
Acked-by: Marcelo Ricardo Leitner <marcelo.leitner@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/net/sctp/checksum.h
net/sctp/offload.c