簡體   English   中英

在內核啟動時分配(靜態)內存

[英]Allocating (statically) memory at kernel boot time

我正在使用Linux內核,並且希望在引導時(在內核空間中)靜態地分配一個子頁面大小的數組,稍后內核將其用於調度目的。 有誰能請以最好的方式指出我這樣做?

在操作系統的正常執行期間,永遠不會顯式釋放此內存,除非在結束時隱式(關閉)。

我已經知道alloc_bootmem()但我想知道/探索其他可能性。 如果有人能夠指出我使用內存的代碼片段,就像Linux內核中已經存在的那樣,那將是非常好的。

一些內核模塊使用這種技術在需要大尺寸時分配DMA緩沖區,例如jazzdma模塊和nlm-dma模塊

請注意,如果您使用啟動時內存分配器用於dma目的,則必須使用

void *alloc_bootmem_low_pages(unsigned long size);

代替

void *alloc_bootmem_pages(unsigned long size);

因為DMA只能訪問低內存類型

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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