Re: Improvement on memory subsystem

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



2006/7/19, Pekka Enberg <[email protected]>:
On 7/18/06, yunfeng zhang <[email protected]> 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 [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux