- 博客(24)
- 资源 (10)
- 收藏
- 关注
转载 转发技术风雨三十年,你经历过……
前言记得刚到大学报道的那天,为了给家人报个平安,我在电话亭里足足等了两个小时,而我的父亲为了接这个电话也赶到近百米的土豪家。作为我人生第一个通信工具Motorola BP机在我大学毕业使用两个月后迅速下岗,换了第一台GSM数字移动电话飞利浦989,从此满足了随时随地沟通和被沟通的需求;那个年代最蛋疼的莫过于双向收费,朋友为了测试通话质量是否OK浪费我六角钱让我至今还难以忘怀,因此成...
2019-07-25 12:50:17 1236 1
转载 Linux CFS调度算法核心解析
回家的路上,聊了下CFS调度器…我昨天不是写了一篇批判性的文章嘛:【为什么Linux CFS调度器没有带来惊艳的碾压效果】https://blog.csdn.net/dog250/article/details/95729830确实如此啊,我又没说错啥。CFS stands for “Completely Fair Scheduler,” and is the new "desktop"...
2019-07-25 11:16:00 1212 1
转载 Linux上,最常用的一批命令解析
Linux这么多命令,通常会让初学者望而生畏。下面是我结合日常工作,以及在公司的内部培训中,针对对Linux不是很熟悉的同学,精选的一批必须要搞懂的命令集合。任何一个命令其实都是可以深入的,比如tail -f和tail -F的区别。我们不去关心,只使用最常见的示例来说明。本文不会教你具体的用法,那是抢man命令的饭碗。这只是个引导篇,力求简洁。学习方式:多敲多打,用条件反射替代大脑记忆—如果...
2019-07-25 10:03:40 187
转载 SONIC架构简要分析-数据库
随着SONIC的日趋成熟,在互联网行业应用会越来越多,SONIC+白盒交换机的方式或许会成为将来数据中心的主流接入交换机。为此,对SONIC的架构进行简要分析,看看与传统的网络操作系统的区别。SONIC...
2019-07-25 09:41:26 1783
转载 SONiC项目的发展及其介绍
在2015年3月举行的OCP(Open Compute Project,开放计算项目)峰会上, 微软向OCP贡献SAI (Switch Abstraction Interface,交换机抽象接口)。当年7月,OCP正式接纳了SAI 。2016年3月9日,微软在这届OCP峰会上,正式发布了SONiC ( Software for Open Networking in the Cloud)。SON...
2019-07-25 09:38:54 2506
原创 BGP 博客网址
https://blog.csdn.net/linuxkernelciscoios/article/category/6679905https://www.cnblogs.com/danxi/p/6344116.htmlhttps://segmentfault.com/u/ouyangxibao/articles?page=2&sort=vote
2019-07-23 11:04:27 205
转载 为什么Linux CFS调度器没有带来惊艳的碾压效果
但凡懂Linux内核的,都知道Linux内核的CFS进程调度算法,无论是从2.6.23将其初引入时的论文,还是各类源码分析,文章,以及Linux内核专门的图书,都给人这样一种感觉,即 CFS调度器是革命性的,它将彻底改变进程调度算法。 预期中,人们期待它会带来令人惊艳的效果。然而这是错觉。人们希望CFS速胜,但是分析来分析去,却只是 在某些方面比O(1) 调度器稍微好一点点。 甚至在某些方...
2019-07-17 11:19:58 1317
转载 Hotpatching a C Function on x86
March 31, 2016In this post I’m going to do a silly, but interesting, exercise that should never be done in any program that actually matters. I’m going write a program that changes one of its functi...
2019-07-12 13:03:14 214
原创 Linux下产生coredump并压缩保存
一、什么是coredump我们经常听到大家说到程序core掉了,需要定位解决,这里说的大部分是指对应程序由于各种异常或者bug导致在运行过程中异常退出或者中止,并且在满足一定条件下(这里为什么说需要满足一定的条件呢?下面会分析)会产生一个叫做core的文件。通常情况下,core文件会包含了程序运行时的内存,寄存器状态,堆栈指针,内存管理信息还有各种函数调用堆栈信息等,我们可以理解为是程序工...
2019-07-10 15:17:51 4036
转载 用户态使用 glibc/backtrace 追踪函数调用堆栈定位段错误
一般察看函数运行时堆栈的方法是使用 GDB(bt命令) 之类的外部调试器, 但是, 有些时候为了分析程序的 BUG,(主要针对长时间运行程序的分析),在程序出错时打印出函数的调用堆栈是非常有用的.#1 glibc 获取堆栈信息的接口在 glibc 头文件 execinfo.h 中声明了三个函数用于获取当前线程的函数调用堆栈.#1.1#include <execinfo.h...
2019-07-10 15:03:43 1136
原创 linux内核分析及应用 -- 输入输出(下)
5.5 Redis 对 epoll 的封装Redis 的作者和 Nginx 的作者一样,不喜欢引入第三方的库,比如 libevent、libev 来做事件处理,而是自己封装了 epoll,不像 Memcachd 的 I/O 模型还得依赖 libevent。Redis 的 I/O 模型针对不同系统做了不同的实现,比如 Linux 中的实现是对 epoll 的封装,BSD 中的实现是对 kqueu...
2019-07-10 13:54:40 390
原创 linux内核分析及应用 -- 输入输出(上)
计算机从诞生之日起就和输入输出(I/O)密不可分,图灵机和冯 · 诺伊曼体系中输入与输出就是基本概念之一。图灵机是一个计算机的理论模型,本质上是状态机;冯 · 诺伊曼体系是图灵机的实现,包括运算、控制、存储、输入、输出五个部分。冯 · 诺伊曼体系相对之前的计算机最大的创新在于程序和数据的存储,以此实现机器内部编程,如图5-1所示。图5-1 冯 · 诺伊曼计算机体系结构我们平时编写的应用...
2019-07-10 11:11:37 1411
转载 vim配置及插件安装管理(超级详细)
写在前面 Linux下编程一直被诟病的一点是: 没有一个好用的IDE, 但是听说Linux牛人, 黑客之类的也都不用IDE. 但是对我等从Windows平台转移过来的Coder来说, 一个好用的IDE是何等的重要啊, 估计很多人就是卡在这个门槛上了, "工欲善其事, 必先利其器"嘛, 我想如果有一个很好用的IDE, 那些Linux牛人也会欢迎的. 这都是劳动人民的美好愿望罢了, 我今...
2019-07-06 00:25:01 6606
转载 dpdk优化(转)???
转发:https://software.intel.com/en-us/articles/dpdk-performance-optimization-guidelines-white-paper转发:http://zhaozhanxu.com/2016/08/09/DPDK/2016-08-09-dpdk-optimization/注:本文是参照了一些其他文章,原文地址点击这里。...
2019-07-05 15:29:18 2511 1
转载 FD.io——助你创新更高效、更灵活的报文处理方案
文章转载自DPDK与SPDK开源社区FD.io (Fast data – Input/Output) 是许多项目和库的一个集合,基于DPDK并逐渐演化,支持在通用硬件平台上部署灵活和可变的业务。FD.io为软件定义基础设施的开发者提供了一个平台,可以创建多个项目,开发基于软件的报文处理创新方案,以便于设计高吞吐量、低延时和有效利用资源的应用程序,并能够应用在多个平台上(x86、ARM和Powe...
2019-07-05 15:26:08 333
转载 (转)DPDK 实现的不完全理解
写在前面本系列记录了作者在项目过程中由于好奇心驱使而了解到的部分DPDK实现细节。比较适合有同样好奇心的DPDK的初学者,通过本文您可以学习到DPDK的整体工作原理以及部分实现细节您不能学习到应用DPDK进行性能调优如果对DPDK的起源不是很清楚的话,可以先浏览下绝对干货!初学者也能看懂的DPDK解析,重点就是Linux + x86网络IO瓶颈这部分,总结一句话就是Linu...
2019-07-05 15:22:50 1077
转载 DPDK数据流过滤规则例程解析—— 网卡流处理功能窥探
本文转载自DPDK与SPDK社区当前的高性能网卡通常都支持对数据流的定向和过滤功能,可通过配置将指定的数据流定向到指定的设备队列中,并且如果监听此队列的核心正是运行处理此数据流的应用所在核心,将获得一定的性能优势。另外网卡的流过滤功能还可设定丢弃指定的流,可实现在硬件层面屏蔽非法的访问等,而不需要处理器的干预。DPDK的示例flow_filtering演示第一种流定向功能。该示例flo...
2019-07-05 14:53:51 2747 2
转载 (转)思科VPP源码分析(feature机制分析)
基本概念早期的VPP本身的node框架比较固定,各个node之间逻辑连接已经固化。为此新版本增加了feature机制, 每个feature是一个node,用户可以启用/停止某个或某些feature。 用户也可以自己写插件,把自定义node(自己的业务逻辑)加入到指定位置。vnet_feature_arc_registration_tvpp将feature分成不同的组,每组fea...
2019-07-05 14:49:38 1420
转载 (转)vpp feature node使用分析总结(snat)
vpp node框架的分析请参考 http://blog.csdn.net/jqh9804feature node实现分析请参考 http://blog.csdn.net/jqh9804/article/details/54772764理解feature模式最好要理解vpp node框架!在分析vpp代码snat插件时,看到了以feature模式添加节点的方式,于是简单分析了一下fea...
2019-07-05 14:45:47 5032
转载 (转)思科VPP源码分析(dpdk node分析)
https://blog.csdn.net/jqh9804/article/details/53066676VPP使用者几乎都会使用dpdk node作为收包驱动,本文将分析其源码。基本概念vlib_buffer_tdpdk收到的数据包用rte_mbuf结构描述。vpp为了兼容其它收包node(netmap,pcap等)改为使用vlib_buffer_t来描述数据包。vl...
2019-07-05 14:10:26 1723
原创 QOS 令牌桶实现代码1
根据前面的第一篇文章的TB的第一种实现的方式,我们实现的TB的完成代码,如下:#ifndef __INCLUDE_QOS_METER_H__#define __INCLUDE_QOS_METER_H__#ifdef __cplusplusextern "C" {#endif/** * @file * qos Traffic Metering * * Traffic m...
2019-07-03 14:27:07 733
原创 linux内核分析及应用 -- 中断机制
我们编写的程序在运行的时候,并不会一直占据着 CPU 资源,比如你需要和外部设备做交互(读写磁盘数据、读写网络接口等),那么你就要主动放弃 CPU,当外部设备数据就绪后,就会通过中断机制来通知 CPU 切换回你刚才运行程序的上下文继续往下执行。另外,即使是 CPU 密集型运算的程序,系统也并不仅仅给一个进程来运行。为了对系统中所有的进程公平起见,一般会通过时钟中断的机制,定期打断当前在 CPU...
2019-07-03 13:30:16 1081
翻译 DPDK编程指南 (1 --3)
1.简介本文档提供软件架构信息,开发环境及优化方案。有关编程示例以及如何编译运行这些示例,请参阅《DPDK示例用户指南》。有关编译运行应用程序的基本信息,请参阅《DPDK入门指南》。1.1.文档路线图以下是一份建议顺序阅读的DPDK参考文档列表:发行公告:提供特定发行版本的信息,包括支持的特性、限制条件、修复的问题、已知的问题等等。此外,还以FAQ的方式提供了常见问题的解...
2019-07-03 13:25:04 3883 1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人