linux kernel
文章平均质量分 87
穷小子的IT世界
这个作者很懒,什么都没留下…
展开
-
Understanding a Kernel Oops!
Understanding a Kernel Oops!Understanding a kernel panic and doing the forensics to trace the bug is considered a hacker’s job. This is a complex task that requires sound knowledge of bo转载 2014-07-22 11:18:36 · 571 阅读 · 0 评论 -
Linux Kernel-3.10.72 Makefiles
Linux Kernel MakefilesThis document describes the Linux kernel Maefiles.=== Table of Contents === 1 Overview === 2 Who does what === 3 The kbuild files --- 3.1 Goal definitions原创 2015-03-27 16:38:45 · 1284 阅读 · 0 评论 -
Linux2.6.x Kernel Makefiles (Linux内核Makefile文件 )
Linux内核Makefile文件 --译自Linux2.6.x Kernel Makefiles 本文档描述了linux内核的makefile文件。 === 目录 === 1 概述 === 2 角色分工 === 3 内核编译文件 --- 3.1 目标定义 --- 3.2 内嵌对象 - o转载 2015-03-27 16:28:51 · 555 阅读 · 0 评论 -
Linux头文件和库文件添加环境变量与GCC编译器添加INCLUDE与LIB环境变量
对所有用户有效在/etc/profile增加以下内容。只对当前用户有效在Home目录下的.bashrc或.bash_profile里增加下面的内容:(注意:等号前面不要加空格,否则可能出现 command not found)#在PATH中找到可执行文件程序的路径。export PATH =$PATH:$HOME/bin#gcc找到头文件的路径C_INCLU原创 2015-03-27 16:07:21 · 572 阅读 · 0 评论 -
linux 内核poll/select/epoll实现剖析
f_ops.poll和wait_queuepoll/select/epoll的实现都是基于文件提供的poll方法(f_op->poll),该方法利用poll_table提供的_qproc方法向文件内部事件掩码_key对应的的一个或多个等待队列(wait_queue_head_t)上添加包含唤醒函数(wait_queue_t.func)的节点(wait_queue_t),并检查文件当前就转载 2015-03-27 11:15:10 · 1902 阅读 · 0 评论 -
netmap分析(2)-原理分析之内存管理
内存池方案 Netmap为了避免内存的频繁申请和释放,采用了内存池方案。预先在内核申请一块连续的大内存用于满足netmap的各种需求。根据netmap对内存的使用,内存池分为三部分:用于分配netmap_ if 数据结构.用于分配netmap_ ring 数据结构.用于分配netmap_ slot 数据结构.如下图所示: 每个netmap_ if 在IF转载 2014-07-25 15:19:11 · 1307 阅读 · 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 · 803 阅读 · 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 · 1348 阅读 · 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 · 612 阅读 · 0 评论 -
netmap分析(3)-原理分析之数据结构关系
Netmap在内核中针对每一个网卡(也即每一个net_ device)维护一个netmap_ adapter结构,该结构主要用于维护在此网卡上的所有可用数据接收队列以及发送队列。而在用户空间是通过netmap_ if结构来处理对应的接收或发送队列。Netmap_ kring 是内核中用来描述一个缓冲队列的结构,且只有在内核空间才能访问,实际指向的是netmap_ ring结构,该结构在用户空间可访转载 2014-07-25 15:19:07 · 960 阅读 · 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 · 673 阅读 · 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 · 2328 阅读 · 0 评论 -
【转载】高性能网络I/O框架-netmap源码分析(6)
高性能网络I/O框架-netmap源码分析(6)作者:gfree.wind@gmail.com原文地址:因为最近比较忙,很久没有更新博客了,但是netmap源码分析还没有写完,今天继续分析。这里就显示出了写博客的好处。如果不是写博客,可能自己私下看代码,看了一半,就半途而废了。而写了博客,每次打开自己的主页,看到还未完成的系列,就会坚持把这件事情做完。唠了一点闲话,也是转载 2014-07-25 10:06:30 · 637 阅读 · 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 · 784 阅读 · 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 · 643 阅读 · 0 评论 -
Linux kernel编译错误
写driver是在Makefile中添加了一个CFLAGS项,结果出现了一下错误:scripts/Makefile.build:49: *** CFLAGS was changed in "/home/zhangjieming/cact/kernel/linux-stable/drivers/net/ethernet/intel/Makefile". Fix it to use ccf原创 2015-03-27 16:22:27 · 554 阅读 · 0 评论