]> rtime.felk.cvut.cz Git - zynq/linux.git/commitdiff
net: make struct dst_entry::dev first member
authorAlexey Dobriyan <adobriyan@gmail.com>
Wed, 17 May 2017 16:31:39 +0000 (19:31 +0300)
committerDavid S. Miller <davem@davemloft.net>
Thu, 18 May 2017 14:30:36 +0000 (10:30 -0400)
struct dst_entry::dev is used most often. Move it so it can be
accessed without imm8 offset on x86_64.

add/remove: 0/0 grow/shrink: 9/239 up/down: 52/-413 (-361)
function                                     old     new   delta
dst_rcu_free                                 126     138     +12
fnhe_flush_routes                            211     219      +8
rt_set_nexthop                               747     754      +7
rt_cache_route                                85      91      +6
rt6_release                                  209     215      +6
dst_release                                  107     111      +4
dst_destroy_rcu                               29      33      +4
dn_dst_check_expire                          329     333      +4
dn_insert_route                              484     485      +1
xfrm_resolve_and_create_bundle              2991    2990      -1
...
ip_route_me_harder                          1163    1157      -6
__ip_append_data.isra                       2730    2724      -6
ip6_forward                                 3052    3045      -7
callforward_do_filter                        659     651      -8
dst_gc_task                                  571     549     -22

Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/net/dst.h

index 049af33da3b6c95897d544670cea65c542317673..755a0eedffdefadc5f505f43f79186800cac24bb 100644 (file)
@@ -31,9 +31,9 @@
 struct sk_buff;
 
 struct dst_entry {
+       struct net_device       *dev;
        struct rcu_head         rcu_head;
        struct dst_entry        *child;
-       struct net_device       *dev;
        struct  dst_ops         *ops;
        unsigned long           _metrics;
        unsigned long           expires;