guotie 发表于 2006-02-20 14:17

在考虑把tcp协议栈移植到用户空间,与zero-copy配合,形成完备的数据收发系统,提高系统的网络性能。

guotie 发表于 2006-02-20 14:18

还有一个问题,zero-copy 肯定需要一次性分配很多连续的内存空间,用__get_free_pages一次好像只能得到1024个页面,即4Mbyte,lenn是怎么得到更多的内存空间的呢?

lenn 发表于 2006-02-20 14:47

原帖由 guotie 于 2006-2-20 14:18 发表
还有一个问题,zero-copy 肯定需要一次性分配很多连续的内存空间,用__get_free_pages一次好像只能得到1024个页面,即4Mbyte,lenn是怎么得到更多的内存空间的呢?

哈哈,你好笨哦,一次2M,多分配几次,搞个数组或者list存起来不就可以了么,干嘛还想着改核心参数阿,那样会带来不稳定的因素的.
有时候最笨的方法是最有效的,呵呵.

你把协议栈移植到用户空间,是你的想法还是你们的项目阿,这个好像比较困难吧.如果有钱,咱们一起研究下,哈哈.

guotie 发表于 2006-02-20 15:11

汗!
1.list多麻烦啊.

2.现在正在想怎么搞,是我的项目,可以一起搞出来去收钱啊,哈哈.现在在关注互联网.哎,时间啊,时间,太少

abobchen 发表于 2006-03-01 11:14

谢谢分享!!!

zjsb 发表于 2006-03-29 08:41

怎么下吧

duanjigang 发表于 2006-04-07 15:44

谢谢,我还是先学点内核,再去学驱动就轻松点,不敢贪多

sailer_sh 发表于 2006-04-07 16:07

好东东,收藏

zu_xf 发表于 2006-04-24 15:57

提个小意见

文档写得不错.不过可能老兄不懂硬件,e100驱动实际上是intel8255x系列以太网控制器的驱动,并没有使用DMA,而是直接使用PCI内存读写命令来完成系统内存操作的.
   另外,对于以太网性能要求比较高的,以太网性能要求比较高的,建议直接使用查询方式.比较合理的次数是每秒2000次左右.
   至于内存的分配,参考sk_buff的做法,创建一个高速缓存来实行就行了,kmem_cache_create/kmem_cache_alloc,只要你内存足够大.......

zyzf 发表于 2006-05-24 14:49

谢谢
页: 1 2 3 [4] 5 6 7 8 9
查看完整版本: Intel-E100网卡驱动实例分析