Questions about the zoned page frame allocator and fix mapped addresses

Sunny Shah shahsunny715 at gmail.com
Mon Mar 30 10:55:38 EDT 2015


Hello,

I have few more questions from my reading of "Understanding the Linux
Kernel", chapter "Memory Management".


   - The book says, about releasing page frames to the per CPU cache - "no
   page frame is ever released to the cold cache: the kernel always assumes
   the freed page frame is hot with respect to the hardware cache". What is
   the reason for this decision ?
   - It is possible for a page to be in ZONE_NORMAL and yet have it's
   PG_reserved flag cleared. Is this correct ?
   - The function "fix_to_virt" for fix-mapped linear addresses does the
   following:

   return (0xfffff000UL - (idx << PAGE_SHIFT));

   Why are the upper 4096 bytes not used, and the addressing starts from
   the top of the virtual address space - 4096 ?
   - The book says "each fix-mapped linear address maps one page frame of
   the physical memory". Shouldn't it be "maps one *physical location* of
   memory" rather than one page frame ?
   - My understanding is that the kernel page table entries for addresses >
   896 MB would be empty and those addresses would be mapped using separate
   data structures used for temporary and permanent kernel mappings and
   non-contiguous page frame allocation. Is this wrong ?


Thanks,
Sunny
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20150330/ab997889/attachment.html 


More information about the Kernelnewbies mailing list