[NET]: Fix tbench regression in 2.6.25-rc1
[safe/jmp/linux-2.6] / include / net / dst.h
index e3ac7d0..ae13370 100644 (file)
@@ -52,15 +52,10 @@ struct dst_entry
        unsigned short          header_len;     /* more space at head required */
        unsigned short          trailer_len;    /* space to reserve at tail */
 
-       u32                     metrics[RTAX_MAX];
-       struct dst_entry        *path;
-
-       unsigned long           rate_last;      /* rate limiting for ICMP */
        unsigned int            rate_tokens;
+       unsigned long           rate_last;      /* rate limiting for ICMP */
 
-#ifdef CONFIG_NET_CLS_ROUTE
-       __u32                   tclassid;
-#endif
+       struct dst_entry        *path;
 
        struct neighbour        *neighbour;
        struct hh_cache         *hh;
@@ -70,10 +65,20 @@ struct dst_entry
        int                     (*output)(struct sk_buff*);
 
        struct  dst_ops         *ops;
-               
-       unsigned long           lastuse;
+
+       u32                     metrics[RTAX_MAX];
+
+#ifdef CONFIG_NET_CLS_ROUTE
+       __u32                   tclassid;
+#endif
+
+       /*
+        * __refcnt wants to be on a different cache line from
+        * input/output/ops or performance tanks badly
+        */
        atomic_t                __refcnt;       /* client references    */
        int                     __use;
+       unsigned long           lastuse;
        union {
                struct dst_entry *next;
                struct rtable    *rt_next;