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?
vmallocprefers ZONE_HIGHMEMif it exists, but may return to ZONE_NORMAL.
vmalloc
ZONE_HIGHMEM
ZONE_NORMAL
, 1 ( ), vmalloc ( vmalloc), .vmalloc 128 ( vmalloc_reserve), ZONE_HIGHMEM - 1 - .
vmalloc_reserve
, , vmalloc, vmalloc . ZONE_HIGHMEM, .