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

Reply via email to