<div dir="ltr">Hello,<div><br></div><div>I have few more questions from my reading of &quot;Understanding the Linux Kernel&quot;, chapter &quot;Memory Management&quot;.</div><div><br></div><div><ul><li>The book says, about releasing page frames to the per CPU cache - &quot;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&quot;. What is the reason for this decision ?</li><li>It is possible for a page to be in ZONE_NORMAL and yet have it&#39;s PG_reserved flag cleared. Is this correct ?</li><li>The function &quot;fix_to_virt&quot; for fix-mapped linear addresses does the following:<br><br>return (0xfffff000UL - (idx &lt;&lt; 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 &quot;each fix-mapped linear address maps one page frame of the physical memory&quot;. Shouldn&#39;t it be &quot;maps one <i>physical location</i> of memory&quot; rather than one page frame ?</li><li>My understanding is that the kernel page table entries for addresses &gt; 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>