diff options
author | Alexey Dobriyan <adobriyan@gmail.com> | 2016-11-19 03:59:07 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2016-11-19 22:11:25 -0500 |
commit | 32d84cdcfde00f28f6133f0e2b015c86f2466fb1 (patch) | |
tree | 36b3618ab38af0a63d8bdace9a70ad33e7fbbd24 /lib/nlattr.c | |
parent | 3b2c75d371740fb0dcd0c9eac545ab1dd28b4706 (diff) | |
download | lwn-32d84cdcfde00f28f6133f0e2b015c86f2466fb1.tar.gz lwn-32d84cdcfde00f28f6133f0e2b015c86f2466fb1.zip |
netlink: smaller nla_attr_minlen table
Length of a netlink attribute may be u16 but lengths of basic attributes
are much smaller, so small we can save 16 bytes of .rodata and pocket
change inside .text.
16-bit is worse on x86-64 than 8-bit because of operand size override prefix.
add/remove: 0/0 grow/shrink: 0/3 up/down: 0/-19 (-19)
function old new delta
validate_nla 418 417 -1
nla_policy_len 66 64 -2
nla_attr_minlen 32 16 -16
Total: Before=154865051, After=154865032, chg -0.00%
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'lib/nlattr.c')
-rw-r--r-- | lib/nlattr.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/nlattr.c b/lib/nlattr.c index fce1e9afc6d9..b42b8577fc23 100644 --- a/lib/nlattr.c +++ b/lib/nlattr.c @@ -14,7 +14,7 @@ #include <linux/types.h> #include <net/netlink.h> -static const u16 nla_attr_minlen[NLA_TYPE_MAX+1] = { +static const u8 nla_attr_minlen[NLA_TYPE_MAX+1] = { [NLA_U8] = sizeof(u8), [NLA_U16] = sizeof(u16), [NLA_U32] = sizeof(u32), |