W 2021 roku AMD zaczęło przygotowywać obsługę jądra Linuksa do obsługi 5-poziomowego stronicowania w swoich przyszłych procesorach i opierać się na wcześniejszej 5-poziomowej obsłudze jądra tablicy stron, ustanowionej przez firmę Intel. Następnie AMD umożliwiło obsługę 5-poziomowej tablicy stron z KVM SVM w jądrze Linuksa 5.15. Procesory AMD z obsługą 5-poziomowej tablicy stron od czasu wprowadzenia na rynek w postaci procesorów EPYC „Genoa” czwartej generacji. Jedynym elementem, który dopiero teraz się łączy, jest obsługa sterowników AMD IOMMU dla obsługi 5-poziomowej tabeli stron gościa.

Obsługa 5-poziomowych tablic stron jest ważna dla znacznego zwiększenia ilości wirtualnej i fizycznej przestrzeni adresowej w stosunku do 4-poziomowych tablic stron. Dzięki 5-poziomowemu stronicowaniu możliwe jest adresowanie do 4 PiB adresów pamięci fizycznej. Jedynym minusem tego dodatkowego poziomu tablicy stron są dłuższe spacery po tablicy stron.

W rozwijanym jądrze Linuksa 6.4 sterownik AMD IOMMU (amd_iommu) jest ustawiony na obsługę 5-poziomowej tablicy stron gościa. Jeśli zarówno procesor, jak i IOMMU obsługują 5-poziomowe tablice stron, jądro Linuksa 6.4 umożliwi to w przeciwnym razie powrót do istniejących 4-poziomowych tablic stron.

Oddzielnie, sterownik AMD IOMMU dla systemu Linux 6.4 dodaje teraz świadomość NUMA do alokacji pamięci. Więcej szczegółów na temat tych zmian sterownika AMD IOMMU i pracy innych podsystemów IOMMU dla nowego jądra można znaleźć na pociągnij.

Categories: IT Info