On Fri, 8 Jun 2007, Eric Dumazet wrote: > struct fd_map { > /* > * read mostly part > */ > unsigned int base; /* 0x00 */ > unsigned int size; /* 0x04 */ > struct list_head slist; /* 0x08 */ > struct list_head *slots; /* 0x18 */ > unsigned long *map; /* 0x20 */ > void (*freecb)(void *, struct fd_map *); /* 0x28 */ > void *freecb_priv; /* 0x30 */ > /* one 8 bytes hole */ > > /* > * written part on a separate cache line in SMP > */ > unsigned int fdnext ____cacheline_aligned_in_smp; /* 0x40 */ > > struct fd_map *next; /* 0x48 */ > struct rcu_head rcu; /* 0x50 */ > }; /* size 0x60 , aligned to 0x80 */
Wait, that's wrong. Mostly written fields are fdnext and slist, and now count. The rcu and next are written only on free. I'd move next down, move slist up, and place count up. - Davide - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/