社区
Linux_Kernel
帖子详情
读内核代码,经常看到 如 xxx_alloc 的分配内存的函数,为结构里的指针分配好空间,以备用。但是几乎没见过回收内存的?
lixdrvor007
2013-07-23 06:04:00
为什么我几乎没有见到 为 各种形式的alloc函数 回收内存的函数?
...全文
120
3
打赏
收藏
读内核代码,经常看到 如 xxx_alloc 的分配内存的函数,为结构里的指针分配好空间,以备用。但是几乎没见过回收内存的?
为什么我几乎没有见到 为 各种形式的alloc函数 回收内存的函数?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lixdrvor007
2013-07-24
打赏
举报
回复
嗯,找到了 kfree(urb);
谢谢楼上两位。
pix77
2013-07-24
打赏
举报
回复
一定有,否则内核早core dump了
mxl_mxl
2013-07-24
打赏
举报
回复
都有的 ,一般为 xxxfree。 比如使用 kmalloc 分配的内存,使用 kfree 释放。
详解linux
内核
中的各种
内存
分配
函数
:km
alloc
、vm
alloc
、slab、__get_free_pages、mempoll_
alloc
【摘要】本文叙述了在Linux
内核
中常见的几种
内存
分配
函数
及其异同,对理解linux底层
内存
分配
机制有个较好理解。 1、km
alloc
() km
alloc
()
函数
类似与我们常见的m
alloc
()
函数
,前者用于
内核
态的
内存
分配
,后者用于用户态。 km
alloc
()
函数
在物理
内存
中
分配
一块连续的存储
空间
,且和m
alloc
()
函数
一样,不会清除
里
面的原始数据,如果
内存
充足,它的
分配
速度很快。其原型如下: static inline void *km
alloc
(size_t size, gfp_t flags);
usb_buffer_
alloc
函数
void *usb_buffer_
alloc
(struct usb_device *dev, size_t size, gfp_t mem_flags, dma_addr_t *dma);
这个
函数
是usbcore提供的.从名字上就能知道它是用来申请
内存
的,
内核
中给出了一些介绍。
* usb_buffer_
alloc
-
alloc
ate dma-consistent buffer for URB_NO_
xxx
_DMA_MAP
* @dev
DMA实践4:使用dma_
alloc
_coherent替代dma_map_single
DMA实践4:使用dma_
alloc
_coherent替代dma_map_single
alloc
_page
分配
内存
空间
--Linux
内存
管理(十七)
日期
内核
版本 架构 作者 GitHub CSDN 2016-09-29 Linux-4.7 X86 & arm gatieme LinuxDeviceDrivers Linux
内存
管理 1 前景回顾在
内核
初始化完成之后,
内存
管理的责任就由伙伴系统来承担. 伙伴系统基于一种相对简单然而令人吃惊的强大算法.Linux
内核
使用二进制伙伴算法来管理和
分配
物理内
内存
快速
分配
和慢速
分配
内存
快速
分配
和慢速
分配
内存
页面的
分配
最终都交由伙伴系统的页面
分配
器。页面
分配
的
函数
在
内核
有各种各样的实现,但最终都会调用一个共同的接口::__
alloc
_pages_nodemask() 常见的页面
分配
的API __
alloc
_pages_node /*返回struct page的
指针
*/ __
alloc
_pages __
alloc
_pages_nodemask
alloc
_pages /*返回struct page的
指针
*/
alloc
_pages_curr
Linux_Kernel
4,436
社区成员
17,460
社区内容
发帖
与我相关
我的任务
Linux_Kernel
Linux/Unix社区 内核源代码研究区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章