摘要:
Container_of在Linux内核中是一个常用的宏,用于从包含在某个结构中的指针获得结构本身的指针,通俗地讲就是通过结构体变量中某个成员的首地址进而获得整个结构体变量的首地址。 Container_of的定义如下: 它分两步: 第一步,首先定义一个临时的数据类型(通过typeof( ((typ 阅读全文
摘要:
Container_of在Linux内核中是一个常用的宏,用于从包含在某个结构中的指针获得结构本身的指针,通俗地讲就是通过结构体变量中某个成员的首地址进而获得整个结构体变量的首地址。 Container_of的定义如下: 它分两步: 第一步,首先定义一个临时的数据类型(通过typeof( ((typ 阅读全文
摘要:
转载自:http://www.wowotech.net/device_model/13.html 1. 前言 在“Linux内核的整体架构”中,蜗蜗有提到,由于Linux支持世界上几乎所有的、不同功能的硬件设备(这是Linux的优点),导致Linux内核中有一半的代码是设备驱动,而且随着硬件的快速升 阅读全文
摘要:
转自:http://www.cnblogs.com/hazir/p/systemtap_introduction.html systemtap是内核开发者必须要掌握的一个工具,本文我将简单介绍一下此工具,后续将会有系列文章介绍systemtap的用法。 什么是systemtap 假如现在有这么一个需 阅读全文
摘要:
当前module_init中使用 platform_driver_register(&dev_driver)注册了设备驱动,在 /sys/bus/platform/drivers 生成了以dev_driver->driver.name命名的驱动分支; 但是发现没有调用probe函数; 了解一下pla 阅读全文
摘要:
网上看到一个Linux软件栈上的性能诊断工具集,哪个模块出性能问题,都能用什么性能工具进行定位,mark。 阅读全文
摘要:
代码: The use of threads or processes with shared memory allows an application to take advantage of all the processing power a system can provide. If th 阅读全文
摘要:
编译器的主要工作; 源程序分析。语法分析、词法分析、语义分析、类型检查等等,这一阶段的目标是主要是检查代码有没有错误,就像我们常见的error和warning就是这个阶段确定的。 预处理。预处理器会展开目标模块导入的头文件和替换宏定义,预处理后生成 *.i文件。 编译。编译器将*.i文件编译成 AS 阅读全文
摘要:
C++ Testing Framework测试框架使用 链接:https://www.ibm.com/developerworks/cn/aix/library/au-googletestingframework.html 实操: 链接:https://www.cnblogs.com/coderzh 阅读全文
摘要:
1.1为什么出现了UIO? 硬件设备可以根据功能分为网络设备,块设备,字符设备,或者根据与CPU相连的方式分为PCI设备,USB设备等。它们被不同的内核子系统支持。这些标准的设备的驱动编写较为容易而且容易维护。很容易加入主内核源码树。但是,又有很多设备难以划分到这些子系统中,比如I/O卡,现场总线接 阅读全文
摘要:
需要测试dpdk在虚拟机VM环境下通过绑定的转发性能;具体过程详细记录下: 一:几个关键点的配置 (1):大页内存 已在HOST中预留了大页内存,为了让dpdk使用大页内存,需要在XML中作出如下配置: 原理:https://www.hanbaoying.com/2017/04/04/hugepag 阅读全文
|