<div dir="ltr">Hello,<div><br></div><div>I have few more questions from my reading of "Understanding the Linux Kernel", chapter "Memory Management".</div><div><br></div><div><ul><li>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 ?</li><li>It is possible for a page to be in ZONE_NORMAL and yet have it's PG_reserved flag cleared. Is this correct ?</li><li>The function "fix_to_virt" for fix-mapped linear addresses does the following:<br><br>return (0xfffff000UL - (idx << PAGE_SHIFT));<br><br>Why are the upper 4096 bytes not used, and the addressing starts from the top of the virtual address space - 4096 ?</li><li>The book says "each fix-mapped linear address maps one page frame of the physical memory". Shouldn't it be "maps one <i>physical location</i>Â of memory" rather than one page frame ?</li><li>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 ?</li></ul></div><div><br></div><div>Thanks,</div><div>Sunny</div></div>