On Mon, Jul 09, 2018 at 04:48:46AM -0400, Frediano Ziglio wrote: > > > > On Tue, Jul 03, 2018 at 11:38:56AM -0400, Frediano Ziglio wrote: > > > > > > > > On Thu, Jun 28, 2018 at 09:43:47PM +0100, Frediano Ziglio wrote: > > > > > This avoids compilers detect misaligned access. > > > > > > > > Maybe "This helps some compilers to realize QXLRam is correctly aligned"? > > > > > > > > > > Well, the current code tells the compiler that this structure > > > is NOT aligned. > > > But we actually know the opposite > > > > Well, we know that in QEMU and Xspice, this is correctly aligned (but > > one need to look at how ram offset is computed in order to see that), so > > we add the annotation to spice-protocol. Since this is quite odd, the > > commit log would indeed need to be quite descriptive. > > > > Christophe > > > > Suggestions? I would rephrase like this: > This avoids compilers detect misaligned access. Without such a hint, some compilers (clang) will generate warnings for trying to do atomic operations on misaligned memory ? > The structure is allocated at the beginning of a page so surely > will be 4 bytes aligned. In QEMU and Xspice, the offset of the structure will be rounded to a 4kB boundary, so the structure will end up 4 bytes aligned as well with these users. We are not aware of other users of QXLRam, but if there was, it's likely the struct would be at least naturally aligned, so this change should not impact anyone. Aligning to 4 bytes maintains the size of the structure unchanged avoiding possible ABI changes. Christophe
Attachment:
signature.asc
Description: PGP signature
_______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/spice-devel