簡體   English   中英

Linux內核會在x86_64上自動將頁面合並為2M嗎?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM