Messages in this thread | | | Date | Thu, 7 Jun 2007 22:25:10 -0700 (PDT) | From | Davide Libenzi <> | Subject | Re: [patch 1/8] fdmap v2 - fdmap core |
| |
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 majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |