kmemleak_object的优化patch
来源:互联网 发布:经典sql语句大全视频 编辑:程序博客网 时间:2024/05/05 05:53
lizefan童鞋在今天(2014/3/13)提交了一个关于mem leak的patch,比较有意思。
在kmemleak scan thread运行的情况下,无法释放kmemleak objects。
OBJS ACTIVE USE OBJ SIZE SLABS OBJ/SLAB CACHE SIZE NAME1200264 1197433 99% 0.30K 46164 26 369312K kmemleak_object
lizefan童鞋写的patch可以在执行如下命令后,释放objects:
# echo scan=off > /sys/kernel/debug/kmemleak # echo off > /sys/kernel/debug/kmemleak代码实现如下:
if (strncmp(buf, "clear", 5) == 0) { if (atomic_read(&kmemleak_enabled)) kmemleak_clear(); else __kmemleak_do_cleanup(); goto out; }__kmemleak_do_cleanup()定义如下:
static void __kmemleak_do_cleanup(void){ struct kmemleak_object *object; rcu_read_lock(); list_for_each_entry_rcu(object, &object_list, object_list) delete_object_full(object->pointer); rcu_read_unlock();}
0 0
- kmemleak_object的优化patch
- patch -p0 和patch -p1的区别 patch 用法
- SVN—patch的应用(create patch,apply patch)
- patch -p0 和patch -p1的区别 patch 用法
- patch -p0 和patch -p1的区别
- patch -p0 和patch -p1的区别
- patch -p0 和patch -p1的区别
- patch -p0 和patch -p1的区别
- patch -p0 与patch -p1的区别
- Linux Patch的使用方法
- Linux patch的用法
- Linux patch的用法
- patch的使用方法
- 打android的patch
- libmemcached的Bug Patch
- diff/patch 的使用
- patch命令的使用
- 胆颤心惊的patch过程
- X86 32位的基本寄存器
- 大端字节(Big endian)与小端字节(Little endian)
- .NET 2.0 CookieContainer bug
- Linux逻辑地址与物理地址的key point
- Linux源代码解析之——传输控制块诞生
- kmemleak_object的优化patch
- 如何处理未使用的变量
- 如果停止和启动VSS服务
- [2096]:小明A+B
- Lumen上使用Dingo/Api做API开发时用JWT-Auth做认证的实现
- iOS 开发者能用上的 10 个 Xcode 插件
- VS-注释技巧
- Mac之vim普通命令使用
- OSX终端 命令行的一些基本操作