Eric Dumazet a écrit :

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; /* 0x28 */
    void (*freecb)(void *, struct fd_map *); /* 0x30 */
    void *freecb_priv; /* 0x38 */

    /*
     * 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 */
};

Well, offsets are wrong but layout OK

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 */

-
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/

Reply via email to