![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
netmap
穷小子的IT世界
这个作者很懒,什么都没留下…
展开
-
netmap分析(2)-原理分析之内存管理
内存池方案 Netmap为了避免内存的频繁申请和释放,采用了内存池方案。预先在内核申请一块连续的大内存用于满足netmap的各种需求。根据netmap对内存的使用,内存池分为三部分:用于分配netmap_ if 数据结构.用于分配netmap_ ring 数据结构.用于分配netmap_ slot 数据结构.如下图所示: 每个netmap_ if 在IF转载 2014-07-25 15:19:11 · 1296 阅读 · 0 评论 -
netmap分析(4)-原理分析之驱动介绍
DMA Engine在分析netmap驱动前,先简要了解一下DMA engine的原理。下面是DMA Engine的大概示意图:下面以接收为例,整个流程如下:在System memory中为DMA开辟一端连续空间,用来BD数组 (一致性dma内存)BD是给DMA Engine使用的,所以不同的设备,BD结构不同,但是大致都有状态、长度、指针3个成转载 2014-07-25 15:23:11 · 2323 阅读 · 0 评论 -
【转载】高性能网络I/O框架-netmap源码分析(1)
作者:gfree.wind@gmail.com博客:blog.focus-linux.net linuxfocus.blog.chinaunix.net微博:weibo.com/glinuxerQQ技术群:4367710前几天听一个朋友提到这个netmap,看了它的介绍和设计,确实是个好东西。其设计思想与业界不谋而合——因为为了提高性能,几个性能瓶颈放在那里,解决方法自然也是类转载 2014-07-25 09:57:25 · 795 阅读 · 0 评论 -
【转载】高性能网络I/O框架-netmap源码分析(4)
高性能网络I/O框架-netmap源码分析(4)作者:gfree.wind@gmail.com原文地址:前面的文章学习了netmap对驱动的修改,以及netmap的初始化和加载。接下来就要从netmap的使用,自上而下的学习分析一下netmap的代码了。netmap的应用示例netmap的网站上给出了一个简单的例子——说简单,其实也涵盖了netmap的框架的调用。转载 2014-07-25 10:03:01 · 769 阅读 · 0 评论 -
【转载】高性能网络I/O框架-netmap源码分析(2)
作者:gfree.wind@gmail.com博客:blog.focus-linux.net linuxfocus.blog.chinaunix.net微博:weibo.com/glinuxerQQ技术群:4367710前面e1000_probe的分析,按照Linux驱动框架,接下来就该e1000_open。netmap并没有对e1000_open进行任何修改,而是改动了e10转载 2014-07-25 10:01:05 · 662 阅读 · 0 评论 -
【转载】高性能网络I/O框架-netmap源码分析(5)
高性能网络I/O框架-netmap源码分析(5)作者:gfree.wind@gmail.com原文地址:今天继续前面的netmap_ioctlnetmap_ioctl上次分析完了NIOCGINFO和NIOCREGIF两个,剩下的比较简单了。那么今天争取干掉剩下所有的case,以及上篇中netmap_ioctl调用的函数NIOCUNREGIFcase NIOC转载 2014-07-25 10:06:58 · 639 阅读 · 0 评论 -
【转载】高性能网络I/O框架-netmap源码分析(6)
高性能网络I/O框架-netmap源码分析(6)作者:gfree.wind@gmail.com原文地址:因为最近比较忙,很久没有更新博客了,但是netmap源码分析还没有写完,今天继续分析。这里就显示出了写博客的好处。如果不是写博客,可能自己私下看代码,看了一半,就半途而废了。而写了博客,每次打开自己的主页,看到还未完成的系列,就会坚持把这件事情做完。唠了一点闲话,也是转载 2014-07-25 10:06:30 · 628 阅读 · 0 评论 -
netmap分析(1)
在工作中用到netmap这个高性能IO框架,觉得不错,就整理了一些分析笔记,和大家共享,欢迎交流.Netmap简介Netmap是一款高性能网络IO框架,由意大利比萨大学信息工程系副教授Luigi Rizzo编写,其官方网址为: http://info.iet.unipi.it/~luigi/netmap. 源代码网址: https://code.google.com/p/n转载 2014-07-25 15:17:08 · 1342 阅读 · 0 评论 -
netmap分析(3)-原理分析之数据结构关系
Netmap在内核中针对每一个网卡(也即每一个net_ device)维护一个netmap_ adapter结构,该结构主要用于维护在此网卡上的所有可用数据接收队列以及发送队列。而在用户空间是通过netmap_ if结构来处理对应的接收或发送队列。Netmap_ kring 是内核中用来描述一个缓冲队列的结构,且只有在内核空间才能访问,实际指向的是netmap_ ring结构,该结构在用户空间可访转载 2014-07-25 15:19:07 · 952 阅读 · 0 评论 -
【转载】高性能网络I/O框架-netmap源码分析(3)
高性能网络I/O框架-netmap源码分析(3)作者:gfree.wind@gmail.com原文地址:前面学习了netmap对e1000网卡驱动的修改,今天开始进入netmap的核心代码。一切从init开始。。。netmap_initLinux环境下,netmap使用动态模块加载,由linuxnetmapinit调用netmap_init。static int转载 2014-07-25 10:04:00 · 601 阅读 · 0 评论