Linux内核 kmalloc, kzalloc & devm

xiaoxiao2021-02-28  56

首先,kzalloc()实现了kmalloc()+memset()的功能  源码如下:

static inline void *kzalloc(size_t size, gfp_t flags) { return kmalloc(size, flags | __GFP_ZERO); }

而 devm_kzalloc() 是具有资源管理的 kzalloc()。使用资源管理(resource-managed)函数分配的内存,是会与所属设备相关联。当设备从系统中分离或者设备驱动被卸载,该内存会被自动释放。也可以通过devm_kfree()来释放内存。

转载请注明原文地址: https://www.6miu.com/read-46530.html

最新回复(0)