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