Re: [patch 1/8] fdmap v2 - fdmap core

From: Davide Libenzi
Date: Fri Jun 08 2007 - 01:25:28 EST


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@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/