Linux内核内存管理?

memory-management memory-leaks linux-kernel linux-device-driver

992 观看

2回复

170 作者的声誉

在内核模块内存发布之后,Linux内核是否可以免费使用kmalloc,而不是像用户空间应用程序一样工作?

作者: Ilay 的来源 发布者: 2011 年 1 月 18 日

回应 (2)


9

5048 作者的声誉

决定

内核不会为模块进行任何垃圾回收。如果模块kmalloc是一块内存并且kfree在卸载模块之前没有,那么该块将保持分配并且在下次重新启动之前不可访问。

作者: Karmastan 发布者: 18.01.2011 07:02

1

13 作者的声誉

正如其他人所说,内核不会对模块进行任何垃圾收集,但设备驱动程序可以使用devm_*资源分配类型(称为托管资源分配函数),并且在没有对设备的引用之后内核将执行所有必需的清理。

有关devm_kmalloc的内核源代码中的注释源代码,请参见此处。

作者: EmbeddedDeveloper 发布者: 23.04.2019 09:22
32x32