cost 87 ms
vmalloc() 從 vm_struct 列表分配

[英]vmalloc() allocates from vm_struct list

Kernel 文檔https://www.kernel.org/doc/gorman/html/understand/understand010.html說,對於vmalloc -ing 它搜索 vm_structs 的線性鏈表並返回一個描述分配區域的新結構。 這是否意味着啟動時已經創建了vm_s ...

使用 kmalloc 時 Linux 內核空間中的 `aligned_alloc`

[英]`aligned_alloc` in Linux Kernel Space when using kmalloc

我正在編寫一個內核模塊,從使用#include <stdlib.h>庫中的aligned_alloc函數的用戶空間移植一些功能。 我沒有在內核模塊可訪問的函數中找到類似的函數 - 是否有任何現有的功能或簡單的包裝函數可以圍繞kmalloc編寫來復制aligned_alloc的行為? ...

Linux Kernel 模塊中的動態陣列與 kmalloc

[英]Dynamic Array in Linux Kernel Module with kmalloc

我正在編寫一個小程序,它打印分配 memory 所需的時間。 我想稍后釋放 memory,所以我想將它保存在一個數組中,但由於我可以循環多次,我想創建一個動態數組來存儲分配的 Memory 中的所有地址。 這是我的初始化代碼: 我總是收到這些錯誤: ...

如何理解“你可以使用slab緩存分配器(即kmem_cache_create或kmem_cache_create_usercopy)來分配許多相同的對象”?

[英]How to comprehend “You can use the slab cache allocator(i.e. kmem_cache_create or kmem_cache_create_usercopy) to allocate many identical objects”?

根據文檔( https://www.kernel.org/doc/html/latest/core-api/memory-allocation.html ),它說[我的]: 如果你需要分配許多相同的對象,你可以使用slab cache allocator 。 在使用緩存之前,應該使用 kmem_c ...

最小 kmalloc() 分配和內存頁大小之間的關系是什么?

[英]What is the relation between the smallest kmalloc() allocation and memory page size?

從這篇文章我意識到: kmalloc 可以處理的最小分配是 32 或 64 字節 和 你得到的實際內存取決於系統的架構 但在那里和其他網站上也提到了內存頁面大小。 我無法弄清楚頁面大小與最小kmalloc()分配有何關系? 頁大小通常為 4096 字節,但最小分配為 32 或 64 ...

來自 kzalloc 的 memset 中的 Linux 內核空指針取消引用

[英]Linux kernel NULL-pointer dereference in memset from kzalloc

很偶然地在內核叢林中偶然發現了一些代碼並且有點困惑。 kzalloc()有兩種實現:在tools/virtio/linux/kernel.h和主要的在linux/slab.h 。 顯然,在大多數情況下,使用第二個。 但有時會使用“virtio” kzalloc() 。 "virtio" kza ...

解釋 devm_kzalloc 參數和用法

[英]explain devm_kzalloc parameters and usage

我是內核驅動程序編程的新手,想了解幾個方面。 在以下來自http://lxr.free-electrons.com/source/drivers/i2c/busses/i2c-ocores.c?v=3.19 的代碼中 pdev 是指向平台設備的指針。 pdev 指向的結構的內容在平台設 ...

如何禁用內核模塊中的緩存

[英]How to disable cache memory in kernel modules

我目前正在嘗試開發 Linux 驅動程序以使用在 FPGA 中開發的自定義模塊。 為此,我使用 Xilinx Zynq SoC 和 Linux 發行版,在 2 個 ARM 內核上運行,我的 VHDL 模塊在 FPGA 部分實現,但這對於理解我的問題並不重要。 我的FPGA模塊直接寫入RAM,我想用 ...

kmalloc中GFP_USER標志的用途是什么?

[英]What is the use of GFP_USER flag in kmalloc?

據我了解,在GFP_USER標志(在kmalloc的調用中)中的使用用於為用戶空間分配內存。 這是否意味着分配的頁面在內核空間中,用戶可以訪問? 這些頁面是否需要在用戶空間中進行mmapp修改,否則用戶可以直接訪問該地址。 如果他們需要mmapp那么GFP_USER和GFP_KERNEL什 ...

屏蔽GFP_NOFS時,為什么遞歸文件系統調用將是一個壞主意

[英]why recursive filesystem calls would be a bad idea when the GFP_NOFS is masked

從LDD3第214頁: GFP_NOIO GFP_NOFS 這些標志的功能類似於GFP_KERNEL,但是它們增加了內核可以滿足請求的限制。 不允許GFP_NOFS分配執行任何文件系統調用,而GFP_NOIO則根本不允許啟動任何I / O。 它們主要用於文件系統和虛擬內存代碼中 ...

用於多進程的內核驅動程序中的內存池

[英]Pool of Memory in Kernel driver for Multiple processes

假設我們要在設備驅動程序或模塊中維護一個內存池。 該池如何創建並可供多個進程使用,比如說有 4 個進程訪問此驅動程序/模塊。 假設池中有 1 MB 內存。 當我閱讀 LDD 時,我遇到了 api 的 mempool_create(),但還有 kmalloc。 如果有人做過這樣的事情,請分享知識 ...

kmalloc是否調用類型構造函數?

[英]Does kmalloc call type constructor?

眾所周知,使用新調用的內存分配分別使用類型構造函數,而使用malloc進行的內存分配則沒有。 但是kmalloc呢? 我正在嘗試開發一些系統調用,並且需要為以下結構分配內存。 如果我使用kmalloc分配內存,它將在分配時為struct郵箱調用構造函數嗎? 如果不是, 除了顯式 ...

為什么物理上連續的內存區域比虛擬上連續的內存更有效?

[英]Why physically contiguous memory region is more efficient than virtually contiguous memory.?

據說物理上連續的內存區域要比虛擬上連續的內存有效,因為羅伯特·洛夫(Robert Love)的書說內核不需要為物理上連續的內存設置頁表項。 但是內核不是在所有情況下都需要頁表嗎? 因此,在虛擬連續內存的情況下,需要創建哪些頁表條目。 ...

將值列表傳遞到內核空間

[英]Passing a list of values to kernel space

我正在做一個Linux項目。 我需要將整數值列表從用戶空間程序傳遞到內核。 為此,我實施了系統調用。 在用戶空間程序中,我有以下代碼。 num_values的值是從命令行參數獲取的。 然后,我打電話給系統調用, 內核中的set_wcet_val '實現如下: } ...

kmallc和vmalloc返回邏輯地址?

[英]kmallc and vmalloc return logical address?

雖然kmalloc和vmalloc上已經有很多線程在運行,但是我沒有得到確切的答案,因此將其放在此處。 據我所知 kmalloc:這是內核API,它在物理上以及實際上在連續地分配內存。 vmalloc:這是內核API,用於分配物理上不連續但實際上是連續的內存。 現在我的問 ...

在設備驅動程序中使用kmalloc

[英]Using kmalloc in a device driver

在一項作業中,我必須為一副紙牌創建一個設備驅動程序。 但是我在結構數組上使用kmalloc遇到麻煩。 結構數組的甲板和大小為52。到目前為止,我有以下內容(顯然它是不完整的): 當我嘗試使用error: incompatible types when assigning to typ ...

聲明要在c中構造的內存

[英]declare memory to struct in c

我在一個文件中有一個abc結構 我在其他文件中使用此結構,如下所示: struct abc *t = kmalloc(sizeof(struct abc)); kmalloc等效於malloc 然后發生以下錯誤: 我要去哪里錯了? ...

無法訪問結構數據

[英]Unable to access struct data

在頭文件中: 在內核模塊中, //初始化 但是,隨着我們的嘗試: 我們將收到此錯誤:錯誤:從類型'void *'分配給類型'contain'時類型不兼容 上面的錯誤由@SunEric和@Sakthi Kumar解決。 現在看來還可以。 它可以構建,但 ...


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