上一页 1 2 3 4 5 6 7 8 ··· 11 下一页
  2016年2月25日
摘要: 网络设备(network device)是内核对网络适配器(硬件)的抽象与封装,并为各个协议实例提供统一的接口,它是硬件与内核的接口,它有两个特征:(1) 作为基于硬件的网络适配器与基于软件的协议之间的接口;(2) 内核协议栈异步输入输出点。记住:网络设备软件对硬件的抽象网络设备与协议和网络适配器的 阅读全文
posted @ 2016-02-25 15:02 笑侃码农 阅读(797) 评论(0) 推荐(0) 编辑
  2016年1月29日
摘要: 总结一下dpdk的uio技术 一:什么是uio技术 UIO(Userspace I/O)是运行在用户空间的I/O技术,Linux系统中一般的驱动设备都是运行在内核空间,而在用户空间用应用程序调用即可,而UIO则是将驱动的很少一部分运行在内核空间,而在用户空间实现驱动的绝大多数功能!使用UIO可以避免 阅读全文
posted @ 2016-01-29 10:29 笑侃码农 阅读(16409) 评论(0) 推荐(1) 编辑
  2016年1月13日
摘要: 1.__attribute__ ((packed)) 的作用就是告诉编译器取消结构在编译过程中的优化对齐,按照实际占用字节数进行对齐,是GCC特有的语法。这个功能是跟操作系统没关系,跟编译器有关,gcc编译器不是紧凑模式的,我在windows下,用vc的编译器也不是紧凑的,用tc的编译器就是紧凑的。... 阅读全文
posted @ 2016-01-13 16:41 笑侃码农 阅读(490) 评论(0) 推荐(0) 编辑
  2016年1月11日
摘要: 当你打开一个.py文件时,经常会在代码的最下面看到if __name__ == '__main__':,现在就来介 绍一下它的作用. 模块是对象,并且所有的模块都有一个内置属性 __name__。一个模块的 __name__ 的值取决于您如何应用模块。如果 import 一个模块,那么模块__nam... 阅读全文
posted @ 2016-01-11 13:39 笑侃码农 阅读(227) 评论(0) 推荐(0) 编辑
  2016年1月6日
摘要: CPPUTest 虽然名称上看起来是 C++ 的单元测试框架, 其实它也是支持测试 C 代码的.本文主要介绍用CPPUTest来测试 C 代码. (C++没用过, 平时主要用的是C) C++相关的内容都省略了.本文基于 debian v7.6 x86_64.1. CPPUTest 安装现在各个Lin... 阅读全文
posted @ 2016-01-06 10:26 笑侃码农 阅读(773) 评论(0) 推荐(0) 编辑
  2015年12月28日
摘要: 最近在做负荷分担的优化,将数据流均匀分到八条流中,学习点哈希算法什么是哈希表? 哈希表(Hash table,也叫散列表),是根据关键码值(Key value)而直接进行访问的数据结构。也就是说,它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。这个映射函数叫做散列函数,存放记录的数... 阅读全文
posted @ 2015-12-28 09:51 笑侃码农 阅读(392) 评论(0) 推荐(0) 编辑
  2015年12月21日
摘要: 本文描述了RSS以及在DPDK中如何配置RSS达到性能提升和统一分发。什么是RSSRSS(Receive Side Scaling)是一种能够在多处理器系统下使接收报文在多个CPU之间高效分发的网卡驱动技术。网卡对接收到的报文进行解析,获取IP地址、协议和端口五元组信息网卡通过配置的HASH函数根据... 阅读全文
posted @ 2015-12-21 10:57 笑侃码农 阅读(1579) 评论(0) 推荐(0) 编辑
  2015年12月17日
摘要: 本文主要介绍rte_mbuf与rte_mempool数据结构之间的组织关系、以及网卡接收到的数据是如何存储在rte_mbuf中的。一、rte_mbuf、rte_mempool及网卡收到的数据包在内存中的组织结构调用rte_mempool_create()函数创建rte_mempool的时候,指定申请... 阅读全文
posted @ 2015-12-17 15:54 笑侃码农 阅读(1212) 评论(0) 推荐(0) 编辑
摘要: DPDK以两种方式对外提供内存管理方法,一个是rte_mempool,主要用于网卡数据包的收发;一个是rte_malloc,主要为应用程序提供内存使用接口。本文讨论rte_mempool。rte_mempool由函数rte_mempool_create()负责创建,从rte_config.mem_c... 阅读全文
posted @ 2015-12-17 15:22 笑侃码农 阅读(1262) 评论(0) 推荐(0) 编辑
摘要: 1 前言DPDK将利用hugepage预留的物理内存统一的组织管理起来,然后以库的方式对外提供使用的接口。下图展示了DPDK中内存有关的模块的相互关系。rte_eal 是统一的组织管理者(当然rte_eal不只是做内存的工作)rte_malloc 对外提供分配释放内存的API,分配的内存都是rte_... 阅读全文
posted @ 2015-12-17 15:07 笑侃码农 阅读(395) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 ··· 11 下一页