毫秒延时函数:mdelay()
微妙延时函数:ndelay()

#ifndef mdelay
#define mdelay(n)    (/
(__builtin_constant_p(n) && (n)<=MAX_UDELAY_MS) ? udelay((n)*1000) : /
({unsigned long __ms=(n); while (__ms--) udelay(1000);}))
#endif

#ifndef ndelay
#define ndelay(x) udelay(((x)+999)/1000)
#endif

使用这两个延时函数时,要有包含文件: #include  <linux/delay>

从上述代码可看到,在linux驱动中,毫秒和微秒延时都调用udelay()函数来实现延时的。udelay()函数实现微秒延时,因此,也可直接使用udelay()函数来实现延时。

 


Linux kernel路由机制分析(上)

四.主要路由流程分析

前面已经介绍过,IP层会在输入和输出两个时候去调用路由部分代码。输入路由过程更为复杂一些也更具代表性,所以我们下面主要分析一下IP包输入时的路由流程。

下图描述了这个流程:

阅读全文 »

 


一.前言

我对linux2.4.18的相关代码进行了阅读,从关键的几个接口函数入手,进而理清了整个路由部分的主要脉胳,理解了一些细节问题的处理,但还是有些问题还没有完全搞清楚。

路由部分代码主要在linux代码树的/net/ipv4/下面:

对于下面报告内容的组织,我想通过由整体到部分到细节的顺序,尽量把我阅读代码学习到的所有的知识做一个有层次有条理的总结。 阅读全文 »

© 2012 velep.com | reille blog | 管理| 粤ICP备12094833号-2| 谷歌地图| 百度地图| Suffusion theme|Sayontan Sinha

无觅相关文章插件,快速提升流量