> Sidenote: in the above example, you may wish to reorder the fields in the
> above structure so that the overall structure uses less memory. For example,
> moving field3 to sit inbetween field1 and field2 (where the padding is
> inserted) would shrink the overall structure by 1 byte:
> 
>       struct foo {
>               u16 field1;
>               u8 field3;
>               u32 field2;
>       };

You can reorder to u32, u16, u8 order and save another byte :)

A reference to pahole could be appropriate here, and probably a small
note that some large existing structures like netdev have deliberate
holes to achieve cache alignment.

johannes

Attachment: signature.asc
Description: This is a digitally signed message part

Reply via email to