Messages in this thread |  | | Date | Fri, 16 Feb 2007 01:59:34 +0000 | From | Ralf Baechle <> | Subject | Re: [PATCH] Optimize generic get_unaligned / put_unaligned implementations. |
| |
On Thu, Feb 15, 2007 at 05:27:20PM -0800, Andrew Morton wrote:
> No, icc surely supports attribute(packed). My point is that we shouldn't > rely upon the gcc info file for this, because other compilers can (or > could) be used to build the kernel. > > So it would be safer if the C spec said (or could be interpreted to say) > "members of packed structures are always copied bytewise". So then we > can be reasonably confident that this change won't break the use of > those compilers. > > But then, I don't even know if any C standard says anything about packing.
Memory layout and alignment of structures and members are implementation defined according to the C standard; the standard provides no means to influence these. So it takes a compiler extension such as gcc's __attribute__().
> Ho hum. Why are we talking about this, anyway? Does the patch make the > code faster? Or just nicer?
Smaller binary and from looking at the disassembly a tad faster also.
Ralf - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
|  |