How to understand lowmem_reserve in a zone?

Parmenides mobile.parmenides at gmail.com
Sat Aug 18 09:06:57 EDT 2012


Hi,

    I have a question about the reseved page frames in a zone. The
physical memory is splitted into some node, which is  further divied
into some zone. For each zone, the kernel try to reserve some page
frames to statisfy requests on low memory condition. There is a
lowmem_reserve[] in a zone descriptor, its defined like:

     struct zone {
                    ....
                    unsigned long lowmem_reserve[MAX_NR_ZONES];
                    ...
     };

It is obvious that lowmem_reserve[] contains MAX_NR_ZONES elements.
But, I think just a interger is enough to record the number of  a
zone's reserved page frames. Why do we have to use a
array?Furthermore, lowmem_reserve[] merely stand for the amount. How
does the kernel mark a page frame to be reserved?



More information about the Kernelnewbies mailing list