Re: [PATCH 0/5] rtcache remove respin
From: Eric Dumazet <hidden>
Date: 2012-07-02 10:44:04
On Sun, 2012-07-01 at 05:02 -0700, David Miller wrote:
It's been a while and there were of course a lot of merge hassles with
the most recent set I posted, so I respun these patches tonight
because I wanted to see the effects of the recent rpfilter hacks on an
rtcache-less system.
On a SPARC T3-1:
1) Output route lookup: ~2800 cycles
2) Input route lookups: ~3000 cycles (rpfilter=0)
~4300 cycles (rpfilter=1)
Another nice part is how small struct rtable is after this patch set:
struct rtable {
struct dst_entry dst;
int rt_genid;
unsigned int rt_flags;
__u16 rt_type;
__be32 rt_dst;
int rt_route_iif;
int rt_iif;
int rt_oif;
__be32 rt_gateway;
u32 rt_peer_genid;
unsigned long _peer;
struct fib_info *fi;
};
which is about 208 bytes on sparc64.
Signed-off-by: David S. Miller <davem@davemloft.net>Can be <= 192 actually rcu_head not needed anymore in dst_entry If we still want __refcnt being on cache line boundary, we might find a better way to accomplish this.