route: fix breakage after moving lwtunnel state
authorJiri Benc <[email protected]>
Fri, 21 Aug 2015 10:41:14 +0000 (12:41 +0200)
committerDavid S. Miller <[email protected]>
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 <[email protected]>
Fixes: 61adedf3e3f1 ("route: move lwtunnel state to dst_entry")
Signed-off-by: Jiri Benc <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
include/net/dst.h