Re: [PATCH 02/16] f2fs: add on-disk layout

From: Arnd Bergmann
Date: Fri Oct 12 2012 - 17:05:10 EST


On Friday 05 October 2012 20:56:44 êìê wrote:
> +struct f2fs_nat_entry {
> + __u8 version;
> + __le32 ino;
> + __le32 block_addr;
> +} __packed;
> +
> +struct f2fs_nat_block {
> + struct f2fs_nat_entry entries[NAT_ENTRY_PER_BLOCK];
> +} __packed;

Using "__packed" on structure is rather inefficient on CPU architectures
that cannot do aligned accesses. I would suggest you remove this
attribute everywhere you can. The f2fs_nat_entry is particularly
suboptimal because it is 9 bytes long, and I'm not sure if this
can be reasonably changed to a multiple of four.

In all other cases, you should try to lay out the structures
so that each member is naturally aligned and you don't need any __packed
attributes, in particular for those that are accessed a lot.

Arnd
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/