lkml.org 
[lkml]   [2006]   [Jul]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: Improvement on memory subsystem
    2006/7/19, Pekka Enberg <penberg@cs.helsinki.fi>:
    > On 7/18/06, yunfeng zhang <zyf.zeroos@gmail.com> wrote:
    > > 3. All slabs are all off-slab type. Store slab instance in page structure.
    >
    > Not sure what you mean. We need much more than sizeof(struct page) for
    > slab management. Hmm?
    >

    Current page struct is just like this
    struct page {
    unsigned long flags;
    atomic_t _count;
    atomic_t _mapcount;
    union {
    struct {
    unsigned long private;
    struct address_space *mapping;
    };
    #if NR_CPUS >= CONFIG_SPLIT_PTLOCK_CPUS
    spinlock_t ptl;
    #endif
    };
    pgoff_t index;
    struct list_head lru;
    #if defined(WANT_PAGE_VIRTUAL)
    void *virtual;
    #endif /* WANT_PAGE_VIRTUAL */
    };
    Most fields in the page structure is used for user page, to a core
    slab page, these aren't touched at all.
    So I think we should define a union
    struct page {
    unsigned long flags;
    struct slab {
    struct list_head list;
    unsigned long colouroff;
    void *s_mem;
    unsigned int inuse;
    kmem_bufctl_t free;
    unsigned short nodeid;
    };
    };
    -
    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/

    \
     
     \ /
      Last update: 2006-07-19 05:25    [W:0.022 / U:62.792 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site