Hello Brian, On Montag, 20. April 2009, Brian Budge wrote: > The thing to do is to take a look at what the inner structs look like > WITHOUT the piece that is checked for termination. Then, based on the size > and alignment, we can figure out something fairly optimal. Can you post a > couple of the structs that are kept in arrays? There are about 30 different of them; look in recent kernel sources for eg. acpi_device_id (20/24 bytes) pci_device_id (28/32 bytes) usb_device_id (20/24 bytes) pcmcia_device_id (28/36 bytes) The byte counts are just 'estimated' by looking at the types; you can find more of these structures in include/linux/mod_devicetable.h. I think I'll either just extend the structures holding pointer to such arrays to include the number of elements (and make that nice to use via a macro), or embed these arrays in a structure that includes a (small) terminating element after them. Thank you for your worries ;-) All I originally wanted to know whether non-even alignments could be specified, like 12 (mod. 16) - and this doesn't seem possible (without wasting the space before that). Regards, Phil