Does Vmalloc () only get memory from ZONE_HIGHMEM on 32-bit x86?

On an x86 32-bit platform, if vmalloc () can allocate memory from ZONE_NORMAL or ZONE_HIGHMEM, does this mean that even if I increase ZONE_HIGHMEM, the actual total range that vmalloc () can use does not change? I did a test to increase ZONE_HIGHMEM, a single selection of vmalloc () can be much larger than before. Does this mean that vmalloc () actually allocates memory only from ZONE_HIGHMEM?

+3
source share
1 answer

vmallocprefers ZONE_HIGHMEMif it exists, but may return to ZONE_NORMAL.

, 1 ( ), vmalloc ( vmalloc), .
vmalloc 128 ( vmalloc_reserve), ZONE_HIGHMEM - 1 - .

, , vmalloc, vmalloc . ZONE_HIGHMEM, .

+6

All Articles