tree 0f0f7a4e59cc45ccb0ac0ebd3858f4dfcf00c57e
parent 1c9caceab03b9d04a4981fe242e5b03c816b1edb
author Willy Tarreau <w@1wt.eu> 1582296456 +0100
committer Christopher Faulet <cfaulet@haproxy.com> 1582885367 +0100

BUG/MEDIUM: ebtree: don't set attribute packed without unaligned access support

An alignment issue on Sparc64 with ebtrees was reported in early 2017
here https://www.mail-archive.com/haproxy@formilux.org/msg25937.html and
a similar one was finally reported in issue #512.

The problem has its roots in the fact that 64-bit keys will end up being
unaligned on such archs which do not support unaligned accesses. But on
most platforms supporting unaligned accesses, dealing with smaller nodes
results in better performance.

One of the possible problems caused by attribute packed there is that it
promotes a structure both to be unaligned and unpadded, which may come
with fun if some fields of the struct itself are accessed and such a node
is placed at an unaligned location. It's not a problem for regular unaligned
accesses but may become one for atomic operations such as the CAS on leaf_p
that's used in struct task. In practice we know that this struct is properly
aligned and is a very edge case so this patch adds comments there to remind
to be careful about it.

This patch depends on previous patch "MINOR: compiler: move CPU capabilities
definition from config.h and complete them" and could be backported to all
stable branches. It fixes issues #512 and #9.

(cherry picked from commit 2c315ee75e1e6a0a58c30637d4c8499c45528c18)
Signed-off-by: Christopher Faulet <cfaulet@haproxy.com>
(cherry picked from commit 0212d76bc94b75208ed2128310090e91c82439f3)
Signed-off-by: Christopher Faulet <cfaulet@haproxy.com>
