From: Eric Dumazet <[EMAIL PROTECTED]> Date: Thu, 3 May 2007 18:32:08 +0200
> 1) struct ip6_flowlabel : moves 'users' field to avoid two 32bits holes for > 64bit arches. Shrinks by 8 bytes sizeof(struct ip6_flowlabel) > > 2) ipv6_addr_cmp() and ipv6_addr_copy() dont need (void *) casts : > Compiler might take into account natural alignement of in6_addr structs to > emit better code for memcpy()/memcmp() > Casts to (void *) force byte accesses. > > 3) ipv6_addr_prefix() optimization : > Better to clear whole struct, as compiler can emit better code for > memset(addr, 0, 16) (2 stores on x86_64), and avoid some conditional branches. > > # size vmlinux.after vmlinux.before > text data bss dec hex filename > 5262262 647612 557432 6467306 62aeea vmlinux.after > 5262550 647612 557432 6467594 62b00a vmlinux.before > > thats 288 bytes saved. > > Signed-off-by: Eric Dumazet <[EMAIL PROTECTED]> Applied, thanks Eric. - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html