__get_free_pages
можно выделить до 4 МБ, выделенных по размеру выделения.
Таким образом, вы можете выделить два блока по 4 МБ, каждый из которых выровнен по 4 МБ.
Невозможно выровнять по 8 МБтаким образом.
Во время загрузки, если вы выделите 3 * 4 МБ, весьма вероятно, что блоки будут смежными, поэтому либо первый и второй, либо второй и третий будут выровнены на 8 МБ.Но я бы не стал на это полагаться.
Обратите внимание, что вы должны делать это рано во время загрузки, в любом случае.В противном случае весьма вероятно, что память фрагментирована, и вы не сможете получить ее.