CMA Debugfs 介面

CMA Debugfs 介面可用於獲取不同 CMA 區域的基本資訊,並測試每個區域的分配/釋放功能。

每個 CMA 區域在 <debugfs>/cma/ 下表示一個目錄,以其 CMA 名稱表示,如下所示

<debugfs>/cma/<cma_name>

在該目錄下建立的檔案結構如下

  • [只讀] base_pfn: CMA 區域的基準 PFN(頁幀號)。

    這與 ranges/0/base_pfn 相同。

  • [只讀] count: CMA 區域中的記憶體量。

  • [只讀] order_per_bit: 一個位表示的頁順序。

  • [只讀] bitmap: 該區域中已分配頁的點陣圖。

    這與 ranges/0/base_pfn 相同。

  • [只讀] ranges/N/base_pfn: CMA 區域中連續範圍 N 的基準 PFN。

    在CMA區域內。

  • [只讀] ranges/N/bitmap: CMA 區域中

    範圍 N 中已分配頁的點陣圖。

  • [只寫] alloc: 從該 CMA 區域分配 N 頁。例如

    echo 5 > <debugfs>/cma/<cma_name>/alloc
    

會嘗試從 'cma_name' 區域分配 5 頁。

  • [只寫] free: 從該 CMA 區域釋放 N 頁,與上述類似。