- 博客(14)
- 资源 (27)
- 收藏
- 关注
转载 intel e1000 网卡 napi分析
<br />2008/9/26intel e1000 网卡 napi分析http://sh-neo.spaces.live.com/blog/cns!1E3CA285E5F9E122!524.entry Chapte10 L2 frame receptionhttp://lxr.linux.no/linux+v2.6.26.5/drivers/net/e1000e/ 内核如何从网卡接收数据,传统的过程:<br />1.数据到达网卡;<br />2.网卡产生一个中断给内核;<br />
2010-08-13 14:38:00 2100 1
转载 Linux下Rtl8139too网卡设备驱动程序关键函数剖析
<br />static int __devinit rtl8139_init_one (struct pci_dev *pdev, const struct pci_device_id *ent)<br />函数功能描述:赋给pci_driver结构体中的probe函数指针,用于当PCI核心检测到一个需要控制的pci_dev时,对相应的设备进行始化工作。<br />附注:本函数的主要任务是创建并初始化net_device结构,该结构是网卡设备的抽象。<br />函数流程:<br />1.
2010-08-13 14:04:00 1472
转载 浅谈 Linux 内核开发之网络设备驱动
http://www.ibm.com/developerworks/cn/linux/l-cn-networkdriver/index.html?ca=drs-
2010-08-10 10:24:00 1034
转载 『亲子中心』[幼儿]关于淘宝日本明治奶粉的真假
本贴绝对原创,希望各位转载的时候能够注明,谢谢~单独注册一个ID发表此贴是接受了朋友们的建议,他们说我这个帖子很有可能招致很多人的谩骂攻击,因为老的ID发过很多我儿子和家人的照片,为了家人才专门注册新ID,请大家谅解。 首先声明一点,我不是卖奶粉的,也不是什么牌子的奶粉的托。只是作为一个曾经受骗上当的宝宝妈妈,尽量想站在客观的角度把我所知道的有关日本本土明治奶粉的知识跟孩子爸妈们分享下,希望对大家有所帮助,希望宝宝们都吃的安全,健康快乐。 为了避免纠纷,以下文中所指的淘宝
2010-08-09 10:54:00 3000
转载 Linux内核数据包处理流程-数据包接收
与其说这篇文章分析了网卡驱动中中数据包的接收,还不如说是以e100为例,对网卡驱动编写的一个说明。当然,对数据包的接收说的很清楚。转载数据包的接收作者:kendoKernel:2.6.12一、从网卡说起这并非是一个网卡驱动分析的专门文档,只是对网卡处理数据包的流程进行一个重点的分析。这里以Intel的e100驱动为例进行分析。大多数网卡都是一个PCI设备,PCI设备都包含了一个标准的配置寄存器,寄存器中,包含了PCI设备的厂商ID、设备ID等等信息,驱动程序使用来描述这些寄存
2010-08-06 11:23:00 1188
转载 网卡接收和发送数据包的过程
描述<br /><br />----<br /><br />1) 当网卡接收到数据帧或发送完数据帧时, 就会产生一个中断. <br /><br /><br /><br />2) 当网卡成功接收到数据帧时, 驱动程序根据帧长度分配包缓冲区, 将数据帧从网卡读入缓冲区,<br /><br />然后<br /><br />插入接收软中断的接收包队列, 并激活接收软中断. 当硬件中断返回时, 接收软中断将执行.<br /><br />在缺省配置<br /><br />下, 每个CPU最多
2010-08-04 19:13:00 2112
转载 Linux设备轮询机制分析
<br />http://blog.csdn.net/joshua_yu/archive/2006/01/27/589460.aspx<br /><br /><br />一、设备轮询机制的基本思想<br />所谓的设备轮询机制实际上就是利用网卡驱动程序提供的NAPI机制加快网卡处理数据包的速度,因为在大流量的网络环境当中,标准的网卡中断加上逐层的数据拷贝和系统调用会占用大量的CPU资源,而真正用于处理这些数据的资源却很少。<br />一个基本的想法是对于大流量网络,如果发现一个DMA传输中断(这表明一个
2010-08-04 19:11:00 1033
转载 零拷贝技术研究与实现
<br />零拷贝技术研究与实现<br />作者:梁健(firstdot)<br />E-MAIL:[email protected]<br /><br /><br />一.基本概念<br />零拷贝(zero-copy)基本思想是:数据报从网络设备到用户程序空间传递的过程中,减少数据拷贝次数,减少系统调用,实现CPU的零参与,彻底消除CPU在这方面的负载。实现零拷贝用到的最主要技术是DMA数据传输技术和内存区域映射技术。如图1所示,传统的网络数据报处理,需要经过网络设备到操作
2010-08-04 19:09:00 839
转载 网络处理的软中断机制分析
<br />http://blog.csdn.net/joshua_yu/archive/2006/01/27/589451.aspx<br /><br /><br />内核默认软中断机制分析(process_backlog)<br />首先需要介绍的就是netif_rx(在net/core/dev.c中定义)函数,这个函数在网卡驱动程序与linux内核之间建立了一道桥梁,将网卡接收上来的数据包(sk_buff形式)插入内核维护的接收缓冲区队列当中:<br />int netif_rx(struct
2010-08-04 19:07:00 734
转载 内核中的likely和unlikely宏的使用
<br />在内核代码中经常会看到unlikely和likely的踪影。他们实际上是定义在 linux/compiler.h 中的两个宏。<br /><br /> #define likely(x) __builtin_expect(!!(x), 1)<br /> #define unlikely(x) __builtin_expect(!!(x), 0)<br /> 这里的__built_expect()函数是gcc的內建函数。<br />至于为什么要在内核代码中使用这两个宏,主要的目的是为了进
2010-08-03 16:45:00 676
转载 Linux网卡驱动分析
<br />http://www.unixresources.net/linux/clf/linuxK/archive/00/00/63/56/635614.html<br />学习应该是一个先把问题简单化,在把问题复杂化的过程。一开始就着手处理复杂的问题,难免让人有心惊胆颤,捉襟见肘的感觉。读Linux网卡驱动也是一样。那长长的源码夹杂着那些我们陌生的变量和符号,望而生畏便是理所当然的了。不要担心,事情总有解决的办法,先把一些我们管不着的代码切割出去,留下必须的部分,把框架掌握了,哪其他的事情
2010-08-03 14:44:00 775
转载 NAPI 技术在 Linux 网络驱动上的应用
<br />http://www.ibm.com/developerworks/cn/linux/l-napi/index.html#main<br />2004 年 6 月 24 日NAPI 是 Linux 上采用的一种提高网络处理效率的技术,它的核心概念就是不采用中断的方式读取数据,而代之以 POLL 的方法来轮询数据,类似于底半方式(bottom-half 的处理模式);但是目前在 Linux 的 NAPI 工作效率比较差,本文在分析 NAPI 的同时,提供了一种高效的改善方式供大家参
2010-08-02 16:36:00 779
转载 Linux内核网络设备操作部分阅读笔记
网络设备初始化就是调用具有__init 前缀的net_dev_init函数完成的,网络设备初始化包含两个部分(在linux内核2.4办源代码分析大全一书的第550页有详细说明),就是:在系统初始化期间对系统已知的网络设备进行初始化过程,也就是,我们在编译内核时选择编入内核的那部分网卡设备就会在这个时候逐个进行初始化工作。系统中已知的网络设备都存储在一个全局表中,dev_base[],它将所有网络设备的net_devive结构连接在一起。int __init net_dev_init(void){
2010-08-02 16:24:00 760
STM32F4的I2C读取BMP085模块的温度和气压源码
2013-09-29
linux那些事儿(EHCI Block SCSI Sysfs PCI USB U 盘 UHCI Hub)
2010-09-02
Understanding Linux Network Internals.chm 英文版
2010-09-02
Essential.Linux.Device.Drivers 英文版
2010-07-29
使用ADS1.2 进行嵌入式软件开发
2010-03-19
嵌入式ARM9-2440实战手册.pdf
2010-03-18
unix环境高级编程(中文版).part2.rar
2008-07-18
unix环境高级编程(中文版).part1.rar
2008-07-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人