菜鸟求大神指导? kamlloc和kfree

blue95wind 2012-07-03 04:41:36
请问:kamlloc和kfree函数是不是配对使用的?为什么我统计出来启动内核后,前者调用几千次,后者几万次呢?
谢谢
...全文
113 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
suwenqiang2011 2012-07-07
  • 打赏
  • 举报
回复
3楼说得有道理
deep_pro 2012-07-04
  • 打赏
  • 举报
回复
那么看看你的代码
kmalloc的统计代码如何写的?
blue95wind 2012-07-03
  • 打赏
  • 举报
回复
to deep_pro:
在内核代码中的kmalloc和kfree中累加次数并打印次数啊。烧到板子里,启动内核后,查看打印信息啊。我觉得一个kmalloc对应一个kfree呀。
deep_pro 2012-07-03
  • 打赏
  • 举报
回复
你怎么统计的? 不可能是在运行时吧?

一般driver的初始化过程,某个步骤失败,返回错误前就需要把之前申请的资源都释放,你能看到内核大多数goto语句都是用在错误处理释放资源上
这样 kfree 至少比kmalloc多1倍

但是10被的差距也太xx了

blue95wind 2012-07-03
  • 打赏
  • 举报
回复
不是吧,分支的话也不会走同等级的分支把。也就是一个kmalloc不会被两次或以上 kfree吧。
fdl19881 2012-07-03
  • 打赏
  • 举报
回复
你这个统计不全面 。。
前者调用后,,如果程序出现分支,后来在各个分支中调用kfree的话,当然会出现kfree过多。

4,441

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
  • 内核源代码研究区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧