Questions about the zoned page frame allocator and fix mapped addresses

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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
_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@xxxxxxxxxxxxxxxxx
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies

[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux