自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 资源 (6)
  • 论坛 (79)

原创 perf stat 输出详解

这次对照内核源码以及intel sdm手册,对perf stat统计项做一次详细的梳理。力图做到权威,减少理解的偏差。硬件事件,最终会落实到cpu pmu来统计。这些事件属于perf_event_open()接口中的PERF_TYPE_HARDWARE大类。选项编码(event/umask)Intel SDM 解释补充说明cycles0x3c, 0x00Coun...

2019-09-11 10:20:55 1068 1

原创 Linux内核进程调度子系统总结

在业务性能分析中,很多问题都是进程调度所引起。现特地总结进程调度子系统一些关键点,参考3.10内核源码。提纲task_struct家族关系pid namespace常用统计值pidstat工具调度器实时调度器CFS调度器调度时机和抢占进程负载均衡调度域调度算法task_struct在Linux内核中,task_struct是对进程和线程的统一抽象,一个task_struct结构代表了一个进程...

2019-09-11 10:20:29 407

原创 Intel X86 优化指南阅读笔记--通用优化(后端)

OPTIMIZING THE EXECUTION CORE通用的优化准则来充分利用超标量cpu的并行性: - 遵循前端优化准则,最大化译码带宽和前端吞吐量。 - 最大化寄存器重命名带宽。本文将讨论包括如何正确处理partial registers, ROB read ports and instructions which causes side-effects on flags。 ...

2018-09-04 11:00:02 816 1

原创 Intel X86 优化指南阅读笔记--通用优化(前端)

PROCESSOR PERSPECTIVES以下优化建议,在不同微架构下收益差别较大:指令译码的吞吐量很重要。利用好decoded ICache,Loop Stream Detector和macro-fusion能进一步提高CPU前端性能。充分利用好4个译码器来产生代码。利用好micro-fusion和macro-fusion,这样其中3个简单译码器就再被限制为只能译码只含有一条uo...

2018-08-26 21:31:00 1154

原创 Intel X86 优化指南阅读笔记--基础体系结构

Intel Sandy Bridge Microarchitecture流水线前端按顺序取指令和译码,将X86指令翻译成uop。通过分支预测来提前执行最可能的程序路径。带有超标量功能的执行引擎每时钟周期最多执行6条uop。带有乱序功能的执行引擎能够重排列uop执行顺序,只要源数据准备好了,即可执行uop。顺序提交功能确保最后执行结果,包括碰到的异常,跟源程序顺序一致。...

2018-08-24 09:43:29 1340

原创 坑:Centos7.4 升级内核到4.1X后出现glibc的ABI不兼容问题

Centos7升级了最新4.14内核后,发现当内存不足,发生oom killer后。如果杀死的进程是调用pthread锁的多进程程序,恭喜你,被杀掉的进程不会释放锁,华丽的死锁拉。Centos7 + 原生内核没问题,Fedora 27 + 4.14内核也没问题。Centos 7 + 4.14内核就会死锁。稳定还原Bug代码是朋友写的,就不贴出来了。红帽子估计也不会解决这个。在Centos7上升...

2018-06-06 10:15:58 807

原创 Glibc的一个潜在的坑

问题描述: https://sourceware.org/ml/libc-help/2016-09/msg00000.html为什么会出现内存无法真正回收给系统呢?答案是永远不会回收给系统。当需要分配的内存小,达不到需要走mmap内存模式时,glibc会用brk()分配内存,如果brk()失败了呢?正如链接里代码,强行在堆顶部mmap块内存(之后的brk()会强制失败),此时glibc会...

2018-06-06 08:12:36 1112

原创 在ICT求学时最大的痕迹

好好的新书被我看成了这样。

2018-06-03 09:52:00 516 3

原创 学生时代的Linux内核读书笔记

翻硬盘时找到了2007年时阅读Linux内核的读书笔记。没想到那时居然对着英文原版书居然总结了那么多内容,加起来快300页了。他们见证了我苦逼的研究生生活。工作后都忘记了有写过这些笔记。传上来希望对学弟学妹们有所帮助。可以随意修改和转载。。。博客不能上传附件,只能传到csdn的下载中心了,系统规定下载资源分最少也要1,没资源分的对不住了~~~~~深入理解Linux网络内幕笔记 http...

2018-06-03 06:20:13 558

转载 (转载)浅谈高端CPU Cache Page-Coloring

cache利用是提升网络处理的永恒的话题。老文章了,需要好好琢磨下。http://www.valleytalk.org/2011/04/11/

2017-06-15 12:35:13 985

原创 《What Every Programmer Should Know About Memory》学习笔记(第三章)

概述对网络包处理中,提升性能的关键在于CPU Cache的利用情况。因此,从体系结构角度深刻理解Cache的原理,对写出高性能数据包处理程序是必要的理论基础。这篇文档写于2007年,有点久远,但是其描述的原理仍然适用现在的主流CPU。我将从程序员的角度总结该文章的要点。CPU CachesL1 cache分为指令cache和数据cache,缓存不同内容。L2和L3不再区分,指令和数据共享。数据

2017-05-19 15:56:57 3404

原创 思科VPP源码分析(dpo机制源码分析)

基本概念VPP的dpo机制跟路由紧密结合在一起。路由表查找(ip4_lookup)的最后结果是一个load_balance_t结构。该结构可以看做是一个hash表,里面包含了很多dpo,指向为下一步处理动作。每个dpo都是添加路由时的一个path的结果。 dpo标准类型有: DPO_DROP, DPO_IP_NULL, DPO_PUNT, DPO_LOAD_

2017-02-27 22:46:53 3910 1

原创 思科VPP源码分析(Bihash分析)

基本概念VPP里的Bihash全名为Bounded-index extensible hash。它的最大特点是,在查找时是无锁并且线程安全的。修改操作之间会有互斥,但是修改操作时仍然可以进行查找操作。vpp里的Bihash优化成了两种,bihash_kv_8_8和bihash_kv_24_8,区别在于hash key是8字节还是24字节。最大限度的利用SSE4.2指令集中的_mm_crc32_u6

2017-02-14 16:11:00 3784 4

原创 思科VPP源码分析(feature机制分析)

基本概念早期的VPP本身的node框架比较固定,各个node之间逻辑连接已经固化。为此新版本增加了feature机制,每个feature是一个node,用户可以启用/停止某个或某些feature,也可以自己写插件,把自定义node(自己的业务逻辑)加入到指定位置。vnet_feature_arc_registration_t vpp将feature分成不同的组,每组feature称为一个arc。

2017-01-29 09:42:36 5407 1

原创 思科VPP源码分析(路由框架分析二)

基本理论

2017-01-10 07:47:29 4880 3

转载 思科VPP源码分析(路由框架分析一)

基本概念VPP作为思科开源项目,路由系统基本继承了Cisco快速转发(Cisco Express Forwarding,CEF)设计思路。作为理解VPP路由源码第一步,首先要掌握起理论基础。- Cisco Express Forwarding: 内容摘自:http://www.epubit.com.cn/book/onlinechapter/14101在前面章节的讨论中,虽然基于缓存的交换机制

2016-12-19 12:18:13 6084

转载 DPDK ACL算法介绍(转载)

http://www.jianshu.com/p/0f71f814d73ehttp://www.jianshu.com/p/0f71f814d73e关于dpdk acl算法分析,以后慢慢琢磨。

2016-11-21 20:24:53 2640

原创 思科VPP源码分析(trace机制分析)

基本概念核心函数

2016-11-17 15:01:10 2761 1

原创 思科VPP源码分析(CLI支持分析)

基本概念核心函数

2016-11-15 15:38:39 3794

原创 思科VPP源码分析(多线程支持分析)

基本概念核心函数

2016-11-12 11:51:20 3901

原创 思科VPP源码分析(ethernet node分析)

基本概念核心函数施工中。。。

2016-11-10 09:38:04 3889

原创 思科VPP源码分析(dpdk node分析)

VPP使用者几乎都会使用dpdk node作为收包驱动,本文将分析其源码。- 基本概念vlib_buffer_t dpdk收到的数据包用rte_mbuf结构描述。vpp为了兼容其它收包node(netmap,pcap等)改为使用vlib_buffer_t来描述数据包。 vlib_buffer_t紧跟在rte_mbuf后面,headroom空间中。vlib_get_next_framevlib

2016-11-07 15:29:03 8180

原创 思科VPP源码分析(node调度框架)

vpp的功能逻辑被划分为一个个node,node之间通过下一跳传递处理完的数据包集合,从而组成整个业务图谱。本文将分析node调度框架源码。基本概念 vlib_node_type_t node分为四种类型 VLIB_NODE_TYPE_INTERNAL:对数据包真正处理的业务node。 VLIB_NODE_TYPE_INPUT:收包逻辑node,比如:dpdk,pcap等。 VLIB_N

2016-11-05 07:30:00 7685

原创 思科VPP源码分析(内存管理)

思科今年开源的vpp项目,在intel开源的dpdk之上,构建的数据包处理框架。dpdk组件已经成功榨干硬件IO性能,剩下的瓶颈落在业务处理部分,其中最关键的又在内存访问优化上。内存优化一句话概括:提高CPU L1,L2,L3 cache命中率。这里将分析vpp内存管理部分源码。vec变长数组(vec_bootstrap.h) len是数组元素个数,不是字节长度。每个数组元素都看作是等大小。

2016-10-20 15:30:33 8763

cppcheck的是用手册

cppcheck的使用手册,方便大家用来检测代码缺陷

2013-06-30

深入理解Linux内核笔记

学生时代的读书笔记整理,希望对新手学习有所帮。欢饮转载,非喜勿喷。

2018-06-03

深入阅读linux网络内幕读书笔记

学生时代的读书笔记整理,希望对新手学习有所帮。欢饮转载,非喜勿喷。

2018-06-03

Operating Systems Design and Implementation, 3rd Edition (2006) - BBL.chm

Operating Systems Design and Implementation, 3rd Edition (2006)

2009-10-28

深入理解Linux内存管理

关于linux2.4内存管理的,写的不错,英文版

2008-03-07

自顶向下方法与internet特色第3版答案

自顶向下方法与internet特色第3版答案

2007-11-14

问一个关于GDB的问题

发表于 2006-12-12 最后回复 2012-11-23

请问一个关于软件couic的问题.

发表于 2006-09-28 最后回复 2012-11-23

RPM制作的小问题

发表于 2007-06-28 最后回复 2012-11-23

问个shell脚本的问题

发表于 2006-05-15 最后回复 2012-11-23

关于模块头文件的问题。

发表于 2006-04-18 最后回复 2012-11-23

请问在文本终端下,怎么用shell命令使网卡发送数据?

发表于 2006-04-16 最后回复 2012-11-23

printk求助~~~

发表于 2006-04-14 最后回复 2012-11-23

有人读过Iprouter2的源代码吗?

发表于 2006-03-12 最后回复 2012-11-23

我这水平大概能哪多少薪水?

发表于 2007-08-08 最后回复 2011-10-20

请问ASP.NET下怎么绑定一个类数组?

发表于 2007-12-30 最后回复 2007-12-31

为什么用eclipse开发一个XML编辑器的plugin没有进入源代码?

发表于 2007-04-03 最后回复 2007-04-12

请问在MFC中怎么编程获得CPU频率,内存大小,硬盘剩余空间

发表于 2006-05-18 最后回复 2006-05-19

求问个名词:Tandem Networks

发表于 2006-05-04 最后回复 2006-05-05

Lable.ForeColor问题

发表于 2005-11-23 最后回复 2006-03-29

请问有在Linux下的流量控制工具吗?

发表于 2006-02-05 最后回复 2006-02-05

ACCESS是否支持多用户同时修改?

发表于 2006-01-19 最后回复 2006-01-21

关于多用户同时修改数据库的问题。

发表于 2006-01-19 最后回复 2006-01-20

我想在后台写个用C#语句,能弹出个对话框,显示几个字,点一下确定就返回

发表于 2005-12-21 最后回复 2005-12-21

关于DataGrid的一个问题.

发表于 2005-12-18 最后回复 2005-12-18

HyperLink控件显示时的问提

发表于 2005-12-17 最后回复 2005-12-18

关于在DataGrid中动态的设制超链接列的属性问题。

发表于 2005-12-17 最后回复 2005-12-17

关于用xxxx.aspx?name=XX传中文字的问题

发表于 2005-12-16 最后回复 2005-12-16

问个菜问题

发表于 2005-12-15 最后回复 2005-12-15

用Table做DataGrid的模版列的问题

发表于 2005-11-30 最后回复 2005-12-11

问个弱智问题~~

发表于 2005-12-05 最后回复 2005-12-05

关于Label的小问题?

发表于 2005-12-02 最后回复 2005-12-02

关于用Table做DataGrid里模版列,ID的问题

发表于 2005-11-30 最后回复 2005-11-30

请问在DataGrid前怎么加个序号来表示是第几行啊?

发表于 2005-11-23 最后回复 2005-11-23

关于多行TextBox问题

发表于 2005-11-22 最后回复 2005-11-22

求一组件动态生成方法

发表于 2005-11-21 最后回复 2005-11-21

关于DataSet的问题

发表于 2005-11-21 最后回复 2005-11-21

关于OleDbDataReader的问提

发表于 2005-11-20 最后回复 2005-11-20

求SQL语句

发表于 2005-11-19 最后回复 2005-11-19

求一SQL语句

发表于 2005-11-19 最后回复 2005-11-19

我想用ASP.NET做一个相册

发表于 2005-11-17 最后回复 2005-11-18

DataGrid中生成互斥的Radio的问题

发表于 2005-11-17 最后回复 2005-11-17

在DataGrid 中使用ButtonColumn的问题

发表于 2005-11-16 最后回复 2005-11-17

动态绑定DropDownLis出现的问题

发表于 2005-07-07 最后回复 2005-07-08

DropDownList数据绑定得问题~~~

发表于 2005-07-06 最后回复 2005-07-06

模拟器上能联网,一上真机就连不上网了~~高手指点下

发表于 2005-05-16 最后回复 2005-05-16

空空如也
提示
确定要删除当前文章?
取消 删除