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)
commit751a587ac9f9a8bf314590fbac32d9e418060c5a
tree9ddb90651ebd72777150a6af48f22f7f088b71fb
parent31fbde9967330404175a06df15bdb24d671d4475
route: fix breakage after moving lwtunnel state

__recnt and related fields need to be in its own cacheline for performance
reasons. Commit 61adedf3e3f1 ("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: 61adedf3e3f1 ("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