diff options
author | Eric Dumazet <dada1@cosmosbay.com> | 2006-10-20 00:28:35 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2006-10-20 00:28:35 -0700 |
commit | 78d79423179c0efc7ec34b55d287e7be4ca07da6 (patch) | |
tree | 493041961b8da774b5d9c6a5cc00add000111137 /include/net/inetpeer.h | |
parent | 06ca719faddaf5ea46c6356b12847663c3ed8806 (diff) | |
download | kernel_samsung_crespo-78d79423179c0efc7ec34b55d287e7be4ca07da6.zip kernel_samsung_crespo-78d79423179c0efc7ec34b55d287e7be4ca07da6.tar.gz kernel_samsung_crespo-78d79423179c0efc7ec34b55d287e7be4ca07da6.tar.bz2 |
[IPV4] inet_peer: Group together avl_left, avl_right, v4daddr to speedup lookups on some CPUS
Lot of routers/embedded devices still use CPUS with 16/32 bytes cache
lines. (486, Pentium, ... PIII) It makes sense to group together
fields used at lookup time so they fit in one cache line. This reduce
cache footprint and speedup lookups.
Signed-off-by: Eric Dumazet <dada1@cosmosbay.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/net/inetpeer.h')
-rw-r--r-- | include/net/inetpeer.h | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/include/net/inetpeer.h b/include/net/inetpeer.h index f13cc0c..aa10a81 100644 --- a/include/net/inetpeer.h +++ b/include/net/inetpeer.h @@ -17,14 +17,15 @@ struct inet_peer { + /* group together avl_left,avl_right,v4daddr to speedup lookups */ struct inet_peer *avl_left, *avl_right; + __be32 v4daddr; /* peer's address */ + __u16 avl_height; + __u16 ip_id_count; /* IP ID for the next packet */ struct inet_peer *unused_next, **unused_prevp; __u32 dtime; /* the time of last use of not * referenced entries */ atomic_t refcnt; - __be32 v4daddr; /* peer's address */ - __u16 avl_height; - __u16 ip_id_count; /* IP ID for the next packet */ atomic_t rid; /* Frag reception counter */ __u32 tcp_ts; unsigned long tcp_ts_stamp; |