Hi, I'm not sure I understand your question. The slab allocator groups objects into "caches". Each cache contains objects of the _same_ type. The area of memory that contains the cache is divided into "slabs" and each slab consists of one or more contiguous _pages_. If a page belongs to a slab it has the "PG_slab" page->flags bit set (see include/linux/page-flags.h). Pages tend to belong to a particular zone. I hope this helps. Kind regards, Aaron On Sat, Mar 9, 2013 at 2:04 AM, ishare <june.tune.sea@xxxxxxxxx> wrote: > On Fri, Mar 08, 2013 at 11:44:37AM +0000, Mario Smarduch wrote: >> >> The zonelists are initialized in 'build_all_zonelists()' >> called by 'start_kernel()'. But prior to that point >> there is allot of other code that determines the >> various zones and holes a key function is free_area_init_node(). >> But that function will also reference prior initialization >> in 'setup_arch()' which may take you all the way back >> to bootloader >> Nodes have zones, and zones define what the memory is >> appropriate for, DMA or lowmem, Normal memory or High memory >> for 32 bit. For 64 bit there are fewer zones just primarily >> 32 bit DMA and normal 64 bit. Zones are further divided >> into free areas of 2^n consecutive pages. >> >> Slabs are typically pages carved up into smaller units of >> allocations. > > Does this mean slab is based on zone ? > slab is just a optimized algorithm for normal allocator? > > thanks! > > > > > >> There are several kernel books but outdated, but nevertheless good >> starting points, just search for 'Kernel Internals' >> >> BR, >> Mario. >> >> >> -----Original Message----- >> From: linux-newbie-owner@xxxxxxxxxxxxxxx [mailto:linux-newbie-owner@xxxxxxxxxxxxxxx] On Behalf Of ishare >> Sent: Thursday, March 07, 2013 3:35 PM >> To: linux-newbie@xxxxxxxxxxxxxxx >> Subject: memory zone and slab >> >> >> when does the memory zonelist initialized in kernel ? >> >> what is the difference between zonelists and slab for memory manage . >> >> are there some man docs or sites helpful to understand this ? >> >> thanks! >> >> -- >> To unsubscribe from this list: send the line "unsubscribe linux-newbie" 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.linux-learn.org/faqs > -- > To unsubscribe from this list: send the line "unsubscribe linux-newbie" 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.linux-learn.org/faqs -- To unsubscribe from this list: send the line "unsubscribe linux-newbie" 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.linux-learn.org/faqs