- 博客(6)
- 资源 (8)
- 收藏
- 关注
原创 结构体中定义的联合成员可以直接访问!
内核中看到struct page中有如下的定义:struct page { unsigned long flags; /* Atomic flags, some possibly * updated asynchronously */ atomic_t _count; /* Usage count, see below. */ union { atomic_t _ma
2013-04-27 15:38:00 2484
原创 内核中accept连接时创建socket结构错误导致的内存泄露
强烈推荐一下淘宝褚霸的这篇文章: http://blog.yufeng.info/archives/2456 注:这里我们只关心TCP套接字,所以文章中说sock结构或者socket结构的时候都只针对TCP协议。 在测试内核模块时,内核会因为内存耗尽而panic,使用crash工具查看core文件,提示的信息是"Kernel panic - not syncing: Out of
2013-04-26 17:06:45 3407
转载 如何在Linux kernel Makefile中添加宏定义
原文地址:http://freshpassport.blog.51cto.com/2359526/619274如何在Linux kernel Makefile中添加宏定义: CFLAGS_object.o += -DMACRO_NAME在编译object.o时定义宏MACRO_NAME,在kernel中添加自己的模块时比较有用。 另外,要想对所以将编译的文件都添加一
2013-04-24 11:08:25 5428
原创 算法学习笔记----最长公共子序列问题
(说明:由于CSDN的博客中不能添加下标等特殊符号,所以部分内容使用截图的形式)static void print_lcs(int **b, char *x, int i, int j){ int key; if (i == 0 || j == 0) { return; } key = b[i-1][j-1]; switch
2013-04-21 16:38:50 1123
原创 算法学习笔记----用动态规划解决钢管切割问题
(说明:由于CSDN的博客中不能添加下标等特殊符号,所以部分内容使用截图的形式)通过对问题进行高度抽象,现在我们的问题,就是要递归地求解rn 的最大值,下面采用的是一种自顶向下的递归方法:int p[] = {1, 5, 8, 9, 10, 17, 17, 20, 24, 30};static inline int max(i, j){
2013-04-21 16:21:06 3691
原创 时钟中断导致的内核模块死锁
这篇文章是对这几天找的一个BUG的总结,如果理解上有不对的地方,或者有更好的建议,希望看到的朋友能够指出。 问题是这样的:内核模块中有一个哈希表来维护模块中管理的连接,哈希表是用一个读写锁数组来互斥的,每个锁管理一段哈希表槽位。模块中的处理主要有这几个分支:NF_INET_LOCAL_IN和NF_INET_POST_ROUTING两个钩子点的处理函数,一个是定时器处理函数fcluster_t
2013-04-02 17:41:48 7300
Linux_C高级程序员指南.pdfLinux_C高级程序员指南.pdf
2011-04-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人