kmem_getpages() and High Memory

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

 



The LKML 3 points out that kmem_getpages() can not handle pages allocated from the high memory zone. However, it seems to me that kmem_getpages()  neither prevents the zone allocator from allocating pages from the high zone, nor handle that case properly.

According to my understanding, if some pages are allocated by the zone allocator, the pages should be traced by the SLAB and should be freed when they are not needed any more properly. But, what confuses me is that, if the zone allocator find there is no enough pages in DMA or NORMAL zone, it will allocate pages from the HIGH zone, and in that case, kmem_getpages() simply returns NULL and leave the already-allocated pages alone and do nothing about tracing the allocated pages.

My question is, does that mean the pages allocated in the above case become orphans and never get chance to be freed?

[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