kmalloc

__GFP_COLD
The kernel should use cache cold pages.
How does the kernel know about cache COLD regions?
Who maintains it? (MMU)??
This is maintained by the cache in the CPU so it is a matter of Architecture?? I assume

__GFP_HIGH
The kernel can access emergency pools.
Whos sets the emergency pools address/size?
This is a matter of the kernel address mapping/link. Has nothing to do with the MMU

__GFP_DMA
Allocate only DMA-capable memory.
How does the kernel know the mapping of DMA regions?
This is a matter of kernel address mapping/link. Has nothing to do with MMU

__GFP_IO
The kernel can start disk I/O.

__GFP_FS
The kernel can start filesystem I/O.What is the difference between these 2 types of Action Modifiers?

__GFP_NOFAIL
The kernel can repeat the allocation.

__GFP_REPEAT
The kernel repeats the allocation if it fails.I’m not sure I understand the meaning (difference)

There is a GFP flag : GFP_USER

will every user-space malloc() reach the kmalloc(GFP_USE)R?
I thought malloc can manage with allocating memory by itself
from process heap region without using any alloc(0 system call
(a) If I’m correct, why kmalloc(GFP_USE)R is required?
(b) If I’m wrong I’ll be happy to understand why?

 

השאלות באדיבות שוקי התותח בע”מ 🙂

Asked on October 10, 2019 in Linux.
Add Comment
0 Answer(s)

Your Answer

By posting your answer, you agree to the privacy policy and terms of service.