JeanLeo的亚虎娱乐博客

一切皆有可能,如果没有,那就创造它

  • 博客访问: 107033
  • 亚虎娱乐数量: 42
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 1249
  • 用 户 组: 普通用户
  • 注册时间: 2012-04-08 15:38
  • 认证徽章:
个人简介

人生像是在跑马拉松,能够完赛的都是不断地坚持向前迈进;人生就是像在跑马拉松,不断调整步伐,把握好分分秒秒;人生还是像在跑马拉松,能力决定了能跑短程、半程还是全程。人生其实就是一场马拉松,坚持不懈,珍惜时间。

文章分类
微信关注

IT168企业级官微



微信号:IT168qiye



系统架构师大会



微信号:SACC2013

订阅
热词专题

发布时间:2017-01-09 13:25:34

【注:往事不可追,也不知道是自己的编辑问题还是其他原因,整理亚虎娱乐的时候,发现有篇亚虎娱乐居然漏了,只好在此补上,该文延续《系统启动阶段的memblock算法(1)》的分析补充。难怪总觉得怪怪的,可愁死我这强迫症患者了,没法往回插入,只好作罢】     结束完memblock算法初始化前的准备工作,回到memblo.........【阅读全文】

阅读(149) | 评论(0) | 转发(0)

发布时间:2017-01-09 08:46:38

分析完kmemleak实现后,照常实验一下,以确定功能正常。如kmemcheck一样,该功能需要在内核开启的情况下才能够使用。主要的配置项有:CONFIG_DEBUG_KERNEL、CONFIG_HAVE_DEBUG_KMEMLEAK、CONFIG_DEBUG_KMEMLEAK,以及配置信息记录条数的CONFIG_DEBUG_KMEMLEAK_EARLY_LOG_SIZE,通常情况下配置数量的可以不必修改,但.........【阅读全文】

阅读(293) | 评论(0) | 转发(0)

发布时间:2017-01-09 08:42:05

kmemleak的工作原理很简单,主要是对kmalloc()、vmalloc()、kmem_cache_alloc()等接口分配的内存地址空间进行跟踪,通过对其地址、空间大小、分配调用栈等信息添加到PRIO搜索树中进行管理。当有匹配的内存释放操作时,将会把跟踪的信息从kmemleak管理中移除。通过内存扫描(包括对保存的寄存器值),如果发现某块内存.........【阅读全文】

阅读(172) | 评论(0) | 转发(0)

发布时间:2016-12-23 14:10:53

前面分析了kmemcheck的实现,那么现在就针对其功能进行试验,鉴于kmemcheck支持KMEMCHECK_SHADOW_UNALLOCATED、KMEMCHECK_SHADOW_UNINITIALIZED及KMEMCHECK_SHADOW_FREED的检测且检测上报信息大同小异,本文中的实验主要针对于未初始化的内存进行。如果需要使能kmemcheck,需要进行一系列的内核参数设置,具体的配置.........【阅读全文】

阅读(142) | 评论(0) | 转发(0)

发布时间:2016-12-23 14:03:59

kmemcheck和kmemleak是linux在2.6.31版本开始对外提供的内核内存管理方面的两个检测工具,最初仅支持x86环境,时至今日已经能够支持arm环境了。其中kmemcheck主要是用于内核内存破坏检测,而kmemleak则是用于内核内存泄露检测。本文主要分析kmemcheck的实现,至于kmemleak下一篇文章再详细介绍。为什么要有kmemcheck.........【阅读全文】

阅读(135) | 评论(0) | 转发(0)

发布时间:2015-12-14 00:46:19

kmalloc()是基于slab/slob/slub分配分配算法上实现的,不少地方将其作为slab/slob/slub分配算法的入口,实际上是略有区别的。现在分析一下其实现:【file:/include/linux/slab.h】/** * kmalloc - allocate memory * @size: how many bytes of memo.........【阅读全文】

阅读(1284) | 评论(0) | 转发(1)

发布时间:2015-12-03 01:45:24

前面已经分析了slub算法的初始化、缓存区的创建、对象的分配、对象的回收,最后分析一下slub分配算法的slab销毁具体实现。Slab销毁的入口函数为kmem_cache_destroy(),其实现:【file:/mm/slab_common.c】void kmem_cache_destroy(struct kmem_cache *s){&nbs.........【阅读全文】

阅读(806) | 评论(0) | 转发(1)

发布时间:2015-11-23 02:26:40

前面分析了Slub分配算法的缓存区创建及对象分配,现继续分配算法的对象回收。    Slub分配算法中对象释放的接口为kmem_cache_free():【file:/mm/slub.c】void kmem_cache_free(struct kmem_cache *s, void *x){    s = ca.........【阅读全文】

阅读(879) | 评论(0) | 转发(1)

发布时间:2015-11-21 08:14:54

前面已经分析了slub分配算法的初始化及slab资源池的创建,现在进一步分析一下slub分配算法的分配实现。kmem_cache_alloc()是申请slab对象的入口函数,其实现:【file:/mm/slub.c】void *kmem_cache_alloc(struct kmem_cache *s, gfp_t gfpflags){  .........【阅读全文】

阅读(988) | 评论(0) | 转发(1)

发布时间:2015-11-20 23:38:58

前面分析了slub分配算法的初始化,继续分析slub分配算法的slab创建过程。Slub分配算法创建slab类型,其函数入口为kmem_cache_create(),具体实现:【file:/mm/slab_common.c】struct kmem_cache *kmem_cache_create(const char *name, size_t size, size_t align,.........【阅读全文】

阅读(1295) | 评论(0) | 转发(1)
给主人留下些什么吧!~~

Jean_Leo2016-02-19 00:52

xlzheng:后面没有更新了吗,很期待啊

谢谢关注。后面会更新的,最近工作较忙,还抽不出时间来整理,下一篇是关于kmemcheck的内容

回复  |  举报

xlzheng2016-02-18 14:57

后面没有更新了吗,很期待啊

回复  |  举报
留言热议
请登录后留言。

登录 注册