]> git.baikalelectronics.ru Git - kernel.git/commit
route: fix breakage after moving lwtunnel state
authorJiri Benc <jbenc@redhat.com>
Fri, 21 Aug 2015 10:41:14 +0000 (12:41 +0200)
committerDavid S. Miller <davem@davemloft.net>
Sun, 23 Aug 2015 23:51:17 +0000 (16:51 -0700)
commit5dff05df72ee193d4a559992ffcae46f2842bec7
tree9ddb90651ebd72777150a6af48f22f7f088b71fb
parent08a6c8f0c88fc33319ae736b9b9929c1262b7ae6
route: fix breakage after moving lwtunnel state

__recnt and related fields need to be in its own cacheline for performance
reasons. Commit d8750ebc53a9 ("route: move lwtunnel state to dst_entry")
broke that on 32bit archs, causing BUILD_BUG_ON in dst_hold to be triggered.

This patch fixes the breakage by moving the lwtunnel state to the end of
dst_entry on 32bit archs. Unfortunately, this makes it share the cacheline
with __refcnt and may affect performance, thus further patches may be
needed.

Reported-by: kbuild test robot <fengguang.wu@intel.com>
Fixes: d8750ebc53a9 ("route: move lwtunnel state to dst_entry")
Signed-off-by: Jiri Benc <jbenc@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/net/dst.h