提问人:Massimo 提问时间:11/13/2023 更新时间:11/13/2023 访问量:9
有关内核 linux 可移动内存的信息(__GFP_MOVABLE标志)
Information on kernel linux movable memory (__GFP_MOVABLE flag)
问:
使用 __GFP_MOVABLE 标志时,我需要一些有关 Linux 内核内存管理的信息。工作原理明确;它的功能是减少内存碎片。我不清楚的是,如何正确使用通过 kmalloc 和 __GFP_MOVABLE 标志分配的内存块。
void* buf;
buf = kmalloc(1000, GFP_KERNEL | __GFP_MOVABLE);
[After a long time]
kfree(buf);
根据我所读到的内容,使用 kmalloc 分配的内存块可以在后台移动以减少碎片。那么,kmalloc(变量 buf)的返回值是否在某个时候表示内存的一部分不再有效?我应该采取哪些预防措施来正确使用变量 buf 指向的内存部分?
谢谢 马西莫
答: 暂无答案
上一个:为什么有堆栈内存限制?
评论