[英]Will Linux kernel automatically coalesce pages into 2M on x86_64?
的背景
我已經研究了幾周的主線,試圖弄清楚內核如何/是否(以及在什么條件下)將512個4k PTE自動合並為一個2M PMD條目-除了預先安排使用hugetlbfs或THP-完全是因為x86_64。
之前,我一直認為TLB / MMU / Paging子系統在內核中會檢測到並執行“正確的事情”,但這並不是事實,按照我在debugfs的kernel_page_tables中看到的內容進行操作使用大型.text節模塊(> 5MB)進行的測試。
問題
1)如果內核確實確實將頁面自動合並為x86_64體系結構上的大頁面,那么需要設置什么條件來實現此目的?
2)如果內核沒有自動執行此操作,那么如何手動獲取512個4k PTE,並將它們合並/轉換為PMD?
我只需要一個提示; 盡管我很想獨自完成所有工作,但距現在已經有幾個星期了,我不計后果地放棄了自己的頭。
非常感謝
sc。
您可能想看看khugepaged
守護程序,該守護程序在Linux內核中完成了巨大頁面的拆分和合並。 但是,此功能基本上是THP的支持系統。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.