[Gluster-devel] FYI, suboptimal, mem-pool does not return pointers that are 64-bit aligned

Kaleb KEITHLEY kkeithle at redhat.com
Tue Aug 26 17:49:29 UTC 2014


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


More information about the Gluster-devel mailing list