Re: memory zone and slab

aktlin115 <[email protected]>
Newsgroups org.kernel.vger.linux-newbie
Message-ID <CAGLPcqD4srqMGbru6e+ki8BycM6B39Nw+i_Dgi=sf27NMdqSJA@mail.gmail.com>
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 <[email protected]> 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: [email protected] [mailto:[email protected]] On Behalf Of ishare
>> Sent: Thursday, March 07, 2013 3:35 PM
>> To: [email protected]
>> 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 [email protected]
>> 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 [email protected]
> 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 [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.linux-learn.org/faqs
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.