Gdy folio pamięci się nie udało w Linuksie 5.15, ta niskopoziomowa zmiana w kodzie zarządzania pamięcią jądra, która może mieć wpływ na wydajność, ma wylądować w Linuksie 5.16.

Przed oknem scalania Linuksa 5.16, które może się otworzyć jutro, Matthew Wilcox wysłał swoje żądanie ściągnięcia dotyczące wprowadzenia folio do jądra. Oto główny fragment żądania ściągnięcia dla osób, które nie są zaznajomione z folio lub zapomniały szczegółów w ciągu miesięcy, w których ta funkcja była w pracy:

Celem całego tego odejścia jest zezwól systemom plików i pamięci podręcznej stron na zarządzanie pamięcią w większych porcjach niż PAGE_SIZE. Pierwotny plan zakładał użycie stron złożonych, tak jak robi to THP, ale napotkałem problemy z niektórymi funkcjami oczekującymi tylko strony głównej, podczas gdy inne oczekują dokładnej strony zawierającej określony bajt. Typ folio pozwala funkcji zadeklarować, że oczekuje tylko strony głównej. Niemal przypadkowo pozwala nam to usunąć różne wywołania VM_BUG_ON(PageTail(strona)) i Compound_head().

To żądanie ściągnięcia konwertuje tylko części podstawowej pamięci MM i pamięci podręcznej strony. W wersji 5.17 zamierzamy konwertować różne systemy plików (XFS i AFS są gotowe; inne systemy plików mogą to zrobić), a także konwertować więcej pamięci podręcznej MM i strony na folio. W wersji 5.18 powinny być gotowe wielostronicowe folio.

Wielostronicowe folio oferują pewną poprawę w przypadku niektórych obciążeń. 80% wygranej jest realne, ale wydaje się być sztucznym benchmarkiem (start-up postgres, który nie jest poważnym obciążeniem). Rzeczywiste obciążenia (np. budowanie jądra, uruchamianie postgresa w stanie stabilnym itp.) wydają się korzystać z 0-10%. Nie słyszałem o żadnych stratach wydajności w wyniku tej serii. Nikt nie dokonał żadnego poważnego dostrojenia wydajności; Wyobrażam sobie, że ulepszenie algorytmu odczytu z wyprzedzeniem może zapewnić ciekawsze wygrane. Istnieją również inne miejsca, w których moglibyśmy tworzyć duże folio, a obecnie tego nie robimy, takie jak zapisy większe niż PAGE_SIZE.

Dla użytkowników końcowych oznacza to możliwe korzyści w zakresie wydajności i więcej następne jądra wydadzą funkcjonalność związaną z folio pamięci.

Zobacz żądanie ściągnięcia, aby uzyskać więcej informacji. Teraz, aby sprawdzić, czy Linus Torvalds zdecyduje się wprowadzić te ~2k+ linii zmian, czy też zostaną zgłoszone jakiekolwiek inne nowe/odnowione zastrzeżenia w związku z dodaniem.

Categories: IT Info