On Tue, 2008-10-07 at 22:06 +0200, Tomas Winkler wrote: > > bytes (with nibbles): | . | . | . | . | . | . || . | . | . | . | . | . | > > | addr 1 |len1 || addr 2 |len2 | > > your forced layout: | | | | > > my layout: | | || | | > > > > Note how this actually matches the border between the border between the > > two descriptors, the || border. > > Your layout put addr2 (which is 32 bit) sits on 16 bit boundary So? Yours makes it need two words, which is even less efficient to access. And since the struct is packed, on those architectures that don't do unaligned accesses efficiently won't need any put_unaligned either. Also, keep in mind that address 2 is _never_ used at all anyway because we don't and cannot do fragmented frames due to the lack of IP checksumming in hardware, as I and davem have tried to explain to you multiple times already. johannes
Attachment:
signature.asc
Description: This is a digitally signed message part