Chinaunix首页 | 论坛 | 博客
  • 博客访问: 167846
  • 博文数量: 37
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 15
  • 用 户 组: 普通用户
  • 注册时间: 2016-01-30 09:54
文章分类
文章存档

2018年(2)

2017年(14)

2016年(21)

我的朋友

发布时间:2016-10-26 15:40:34

VPP初始化VLIB_INIT_FUNCTION用来定义构造函数,注册函数到vlib_main_t->init_function_registrations,这个链表在main()函数之前创建。vlib_main()-> vlib_call_all_init_functions()注册的函数在这里被调用初始化,最后执行函数vlib_main_loop()。像这样由宏定义和构造函数创建的全局链表的方式还有如.........【阅读全文】

阅读(5779) | 评论(0) | 转发(0)

发布时间:2016-10-26 15:40:27

一、简介VPP全称Vector Packet Processing,是Cisco2002年开发的商用代码。2016年2月11号,Linux基金会创建FD.io项目。Cisco将VPP代码的开源版本加入该项目,目前已成为该项目的核心。VPP运行于用户空间,支持多种收包方式,常用的是DPDK。VPP主要有两个主要功能:框架可扩展;成熟的交换/路由功能。.........【阅读全文】

阅读(5414) | 评论(0) | 转发(0)

发布时间:2016-09-30 10:10:47

该程序主要实现了两个进程之间传递描述符的实现,主要使用了sendmsg和recvmsg的功能。......【阅读全文】

阅读(3159) | 评论(0) | 转发(0)

发布时间:2016-09-23 17:04:04

......【阅读全文】

阅读(1462) | 评论(0) | 转发(0)

发布时间:2016-08-27 08:54:16

kernel 3.10内核源码分析--BUG_ON流程
一、问题
在dmesg或messages中常见BUG_ON的相关打印,如:
------------[ cut here ]------------
kernel BUG at ...
也常见其它的异常打印,比如page_fault相关的,softlockup相关的,有时候不太好区分它们之间的差别,但区分它们却是否重要,直接关系着对问题本质的判断。
这里简单分析了一下BUG_ON在3.10 kernel代码中的实现。

二、基本原理
BUG_ON通过BUG宏实现。BUG最终是通过执行ud2汇编指令实现。ud2指令看起来有点陌生,大概就是undefine的意思,是一种让CPU产生invalid opcode异常的软件指令,此时会有相应的异常事件上报,内核捕获相应的异常,由预先注册的异常处理接口进行处理:打印相关错误信息,最终根据配置进行kdump或panic或停止当前进程。......【阅读全文】

阅读(5299) | 评论(0) | 转发(0)
给主人留下些什么吧!~~
留言热议
请登录后留言。

登录 注册