To be sure, 64-bit alignment is not required on x86_64, and the hit from the extra insn cycles from the transparent fix-up is negligible (< 0.05% on x86_64). And modern RISC hardware that "we" would be likely to care about, e.g. PPC and aarch64 (i.e. ARM), also does transparent fix-up, so it's not an issue, per se, for those platforms; 'though we don't know what the hit is for the fix-ups on them.

However---

gcc -fsanitize=undefined (and clang, where -fsanitize originated) do care about alignment, and trying to run gluster built with -fsanitize is currently a mild exercise in futility.

-fsanitize is still fairly new. It first appeared in gcc-4.8, which in Fedora first appeared in F20 AFAIK.

It's not clear to me yet how much value there is, or could be, in using -fsanitize during our SDLC. So far it has only uncovered the mem-pool alignment problem. ;-)

Anyway, this is just an FYI. Feel free to share any thoughts you have here in gluster-devel about the merits of fixing (or not fixing) the mem-pool alignment.

--

Kaleb
_______________________________________________
Gluster-devel mailing list
Gluster-devel@gluster.org
http://supercolony.gluster.org/mailman/listinfo/gluster-devel

Reply via email to