<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[brfeng的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/brfeng</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; brfeng]]></copyright><item><title><![CDATA[数据中心overlay]]></title><link>https://blog.youkuaiyun.com/brfeng/article/details/9498635</link><guid>https://blog.youkuaiyun.com/brfeng/article/details/9498635</guid><author>brfeng</author><pubDate>Fri, 26 Jul 2013 17:24:46 +0800</pubDate><description><![CDATA[目前主要的overlay技术有VXLAN、NVGRE、 STT和SPB MAC-in-MAC，TRILL，思科的OTV和LISP。这些技术基本上是采用封装或者隧道的方式来创建虚拟网络的。
VXLAN是在一个三层网络上借助MAC-in-UDP封装，叠加一个二层网络来实现网络虚拟的。目前，VXLAN是IETF标准草案的一个子集，支持厂商有VMware、思科、Arista网络、博科、红帽和Citrix]]></description><category></category></item><item><title><![CDATA[Linux 内核中的 GCC 特性(转)]]></title><link>https://blog.youkuaiyun.com/brfeng/article/details/8937416</link><guid>https://blog.youkuaiyun.com/brfeng/article/details/8937416</guid><author>brfeng</author><pubDate>Thu, 16 May 2013 22:31:58 +0800</pubDate><description><![CDATA[M. Tim Jones, 顾问工程师, Emulex Corp. 2009 年 4 月 07 日 Linux® 内核使用 GNU Compiler Collection (GCC) 套件的几个特殊功能。这些功能包括提供快捷方式和简化以及向编译器提供优化提示等等。了解这些特殊的 GCC 特性，学习如何在 Linux 内核中使用它们。 GCC 和 Linux 是出色的组合。尽管它们是独立的软件，但是]]></description><category></category></item><item><title><![CDATA[Bash check IP and port]]></title><link>https://blog.youkuaiyun.com/brfeng/article/details/8937414</link><guid>https://blog.youkuaiyun.com/brfeng/article/details/8937414</guid><author>brfeng</author><pubDate>Thu, 16 May 2013 22:31:55 +0800</pubDate><description><![CDATA[33 #check arguments34 35 #check ip36 pattern_ip="^(([0-9]|[1-9][0-9]|1[0-9]{2}|2([0-4][0-9]|5[0-5]))\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2([0-4][0-9]|5[0-5]))$"37 #pattern_ip="^((1?[0-9]?[0-9]|2([0-4][0-]]></description><category></category></item><item><title><![CDATA[Use clonezilla to clone and restore disk]]></title><link>https://blog.youkuaiyun.com/brfeng/article/details/8937413</link><guid>https://blog.youkuaiyun.com/brfeng/article/details/8937413</guid><author>brfeng</author><pubDate>Thu, 16 May 2013 22:31:53 +0800</pubDate><description><![CDATA[http://drbl.nchc.org.tw/clonezilla/
		
		
		
		http://b2ddoc.tnc.edu.tw/yh/drbl/index.htmlhttp://ssorc.tw/rewrite.php/read-713.htmlhttp://www.embedstudy.com/viewthread-8113http://clonezilla.org/cl]]></description><category></category></item><item><title><![CDATA[vim diff two files]]></title><link>https://blog.youkuaiyun.com/brfeng/article/details/8937412</link><guid>https://blog.youkuaiyun.com/brfeng/article/details/8937412</guid><author>brfeng</author><pubDate>Thu, 16 May 2013 22:31:51 +0800</pubDate><description><![CDATA[1 目录树相同的情况6.0和6.2的源码往往具有相同的目录树结构，例如，都存在文件sys/i386/i386/machdep.c，且其中都有函数init386这时，如果我们想比较函数init386的不同之处，就可以直接比较这两个文件的不同之处。我们要实现的场景是这样的：首先，浏览6.2（或者6.0）的源码中的函数init386；这时，我们突然想看看与6.0的有什么不同，我们先后按下,d(逗号和字母]]></description><category></category></item><item><title><![CDATA[vim multifile edit]]></title><link>https://blog.youkuaiyun.com/brfeng/article/details/8937411</link><guid>https://blog.youkuaiyun.com/brfeng/article/details/8937411</guid><author>brfeng</author><pubDate>Thu, 16 May 2013 22:31:49 +0800</pubDate><description><![CDATA[1 screena 通过ports安装screenb $screenc $vi file1.cd CTRL+a c (表示同时按住CTRL和a，松开后再单击c，以下同)新建一个窗口e $vi file2.cf 光标移动到起始点g CTRL+a [进入copy模式h 单击空格标志起始点i 通过hjkl选择范围j 单击空格标志结束点k CTRL+a p进入上一窗口l 单击i进入insert模式m CT]]></description><category></category></item><item><title><![CDATA[利用ftrace调试内核]]></title><link>https://blog.youkuaiyun.com/brfeng/article/details/8937410</link><guid>https://blog.youkuaiyun.com/brfeng/article/details/8937410</guid><author>brfeng</author><pubDate>Thu, 16 May 2013 22:31:46 +0800</pubDate><description><![CDATA[ftrace主要是用来帮助开发人员了解Linux内核的运行轨迹，以便进行故障调试或性能分析。它是在2.6.27内核
中开始出现的，自此以后，不断有新的tracer加入，到2.6.30为止最少已经有10种tracer。具体的tracer可以参阅
/Documentation/trace/ftrace.txt。本文主要说明ftrace的使用方法：要使用ftrace必须在内核中首先添加对其的支持，也]]></description><category></category></item><item><title><![CDATA[Some interesting C problems]]></title><link>https://blog.youkuaiyun.com/brfeng/article/details/8937409</link><guid>https://blog.youkuaiyun.com/brfeng/article/details/8937409</guid><author>brfeng</author><pubDate>Thu, 16 May 2013 22:31:44 +0800</pubDate><description><![CDATA[The expected output of the following C program
is to print the elements in the array. But when
actually run, it doesn't do so.
  #include  #define TOTAL_ELEMENTS (sizeof(array) / sizeof(array[0])) ]]></description><category></category></item><item><title><![CDATA[c 语言中的宏，井号，可变参数]]></title><link>https://blog.youkuaiyun.com/brfeng/article/details/8937408</link><guid>https://blog.youkuaiyun.com/brfeng/article/details/8937408</guid><author>brfeng</author><pubDate>Thu, 16 May 2013 22:31:42 +0800</pubDate><description><![CDATA[C（和C++）中的宏（Macro）属于编译器预处理的范畴，属于编译期概念（而非运行期概念）。下面对常遇到的宏的使用问题做了简单总结。关于#和##在C语言的宏中，#的功能是将其后面的宏参数进行字符串化操作（Stringfication），简单说就是在对它所引用的宏变量通过替换后在其左右各加上一个双引号。比如下面代码中的宏：#define WARN_IF(EXP)    \    do{ if (EX]]></description><category></category></item><item><title><![CDATA[QEMU - Running Debian in Debian]]></title><link>https://blog.youkuaiyun.com/brfeng/article/details/8937407</link><guid>https://blog.youkuaiyun.com/brfeng/article/details/8937407</guid><author>brfeng</author><pubDate>Thu, 16 May 2013 22:31:39 +0800</pubDate><description><![CDATA[==Building Debian Images for QEMU==
Install qemu and debootstrap: 
        apt-get install qemu debootstrap
Create image:
        qemu-img create disk.img 512M
Associate image file with a loopbac]]></description><category></category></item><item><title><![CDATA[程序设计中多核的影响--多核系列之三]]></title><link>https://blog.youkuaiyun.com/brfeng/article/details/8937406</link><guid>https://blog.youkuaiyun.com/brfeng/article/details/8937406</guid><author>brfeng</author><pubDate>Thu, 16 May 2013 22:31:36 +0800</pubDate><description><![CDATA[1。内存对齐及cache对性能的影响
在RISC体系结构下，当数据在自然对齐的边界时内存操作更加高效。CPU在读取内存的时候，是以cache线的长度来读取的，当cache block为128bytes时， CPU每次会读取128bytes至L2 cache，如果在分配时不以128bytes对齐就会增加内存的访问次数，对程序的效率有很大的影响。
如果数据超出了cache line的长度（128b]]></description><category></category></item><item><title><![CDATA[软件并行模型--多核系列之二]]></title><link>https://blog.youkuaiyun.com/brfeng/article/details/8937405</link><guid>https://blog.youkuaiyun.com/brfeng/article/details/8937405</guid><author>brfeng</author><pubDate>Thu, 16 May 2013 22:31:34 +0800</pubDate><description><![CDATA[网络多核处理器硬件的设计都与并行处理相关，包括通常核间并行、核内部并行、核与协处理器的并行。如何组织核间并行以及核与协处理器的并行是网络处理器并行模型研究的重点。在硬件并行的基础上，软件的处理就是要充分利用处理任务间的彼此独立性，将不同的任务同时交给不同的硬件单元来处理。
通常，一个网络应用程序可分为三个逻辑层面：控制层、数据处理层和管理层。从网络处理器所面向的处理任务看，不同的处理层面并行特性]]></description><category></category></item><item><title><![CDATA[多核体系概述--多核系列之一]]></title><link>https://blog.youkuaiyun.com/brfeng/article/details/8937404</link><guid>https://blog.youkuaiyun.com/brfeng/article/details/8937404</guid><author>brfeng</author><pubDate>Thu, 16 May 2013 22:31:32 +0800</pubDate><description><![CDATA[接触多核有段时间了，决定把这方面的知识做个总结。
 
1。多核基本理论
多核即在一个单芯片上面集成两个甚至更多个处理器内核，其中每个内核都有自己的逻辑单元、控制单元、中断处理器、运算单元、一级cache、二级cache共享或独有，其部件的完整性和单核处理器内核相比完全一致。
片上多核处理器(CMP)是将多个计算内核集成在一个片处理器芯片中，从而提高计算能力。每个微处理器核心实质上都是一个相]]></description><category></category></item><item><title><![CDATA[kernel_debug]]></title><link>https://blog.youkuaiyun.com/brfeng/article/details/8937403</link><guid>https://blog.youkuaiyun.com/brfeng/article/details/8937403</guid><author>brfeng</author><pubDate>Thu, 16 May 2013 22:31:30 +0800</pubDate><description><![CDATA[1.使用gdb调试    *  /proc/kcore文件是系统内核运行情况的内存映像    * 如果编译内核的时候增加-g选项，即会在生成的二进制代码vmlinuz或vmlinux中，添加调试相关的数据。    * 以root身份运行    #gdb /usr/src/linux/vmlinux /proc/kcore    * 因为core-file命令是静态的，如果需要查看内核最近的运行情况]]></description><category></category></item><item><title><![CDATA[linux C char colors]]></title><link>https://blog.youkuaiyun.com/brfeng/article/details/8937402</link><guid>https://blog.youkuaiyun.com/brfeng/article/details/8937402</guid><author>brfeng</author><pubDate>Thu, 16 May 2013 22:31:27 +0800</pubDate><description><![CDATA[Linux在终端出输出颜色             #include   ;         int     main   (int   argc,   char   **argv)     {                     printf   ("\033[31mThe   color   of   this   line   is   red,   %s!\033[0m",   "ha]]></description><category></category></item><item><title><![CDATA[Bash 字符串]]></title><link>https://blog.youkuaiyun.com/brfeng/article/details/8937401</link><guid>https://blog.youkuaiyun.com/brfeng/article/details/8937401</guid><author>brfeng</author><pubDate>Thu, 16 May 2013 22:31:25 +0800</pubDate><description><![CDATA[得到长度
CODE:%x="abcd"#方法一%expr length $x4# 方法二%echo ${#x}4# 方法三%expr "$x" : ".*"4# expr 的帮助# STRING : REGEXP   anchored pattern match of REGEXP in STRING
查找子串
CODE:%expr index  $x "b"2%expr index  $x]]></description><category></category></item><item><title><![CDATA[SED usage]]></title><link>https://blog.youkuaiyun.com/brfeng/article/details/8937400</link><guid>https://blog.youkuaiyun.com/brfeng/article/details/8937400</guid><author>brfeng</author><pubDate>Thu, 16 May 2013 22:31:23 +0800</pubDate><description><![CDATA[sed '1,3d' file //删除1-3行 sed '/[Aa]bc/p' file //打印包含Abc或者abc的行 sed '/ABC/d' //删除包含ABC的行 sed '/ABC/!d' //不删除包含ABC的行 sed '5,$d' //从第五行到最后一行全部删除 sed 1q  //显示第一行 sed 's/$/.../g' //每行的最后面添加 ... sed 's/d.(s]]></description><category></category></item><item><title><![CDATA[Linux LVM HOWTO]]></title><link>https://blog.youkuaiyun.com/brfeng/article/details/8937398</link><guid>https://blog.youkuaiyun.com/brfeng/article/details/8937398</guid><author>brfeng</author><pubDate>Thu, 16 May 2013 22:31:21 +0800</pubDate><description><![CDATA[一份非常内行的Linux LVM HOWTO 蓝森林 http://www.lslnet.com 2000年12月29日 17:43作 者： 谢启发1. 绪论 欢迎你，亲爱的读者。 写这个文档的目的是为了告诉你什么是LVM，它怎样工作，你怎样运用它使你的生活变得更容易。虽然有一份LVM FAQ，但仍是德文的，它是从不同的角度来描写的。它是一份“真的”HOWTO，在传授理解（有希望的）的时候也是非常]]></description><category></category></item><item><title><![CDATA[Debian编译内核源码]]></title><link>https://blog.youkuaiyun.com/brfeng/article/details/8937396</link><guid>https://blog.youkuaiyun.com/brfeng/article/details/8937396</guid><author>brfeng</author><pubDate>Thu, 16 May 2013 22:31:16 +0800</pubDate><description><![CDATA[安装内核源码apt-cache search kernel-sourceuname -r内核源文件:apt-get install linux-tree-xxxxapt-get install linux-source-xxxx内核头文件:apt-get install linux-headers-xxxx内核编译程序:apt-get install linux-kbuild-xxxx内核镜像做成]]></description><category></category></item><item><title><![CDATA[转：GAS 的AT&T的语法规则]]></title><link>https://blog.youkuaiyun.com/brfeng/article/details/8937395</link><guid>https://blog.youkuaiyun.com/brfeng/article/details/8937395</guid><author>brfeng</author><pubDate>Thu, 16 May 2013 22:31:14 +0800</pubDate><description><![CDATA[Syntax 
1.寄存器引用
引用寄存器要在寄存器号前加百分号%,如“movl %eax, %ebx”。
80386有如下寄存器：

8个32-bit寄存器 %eax，%ebx，%ecx，%edx，%edi，%esi，%ebp，%esp； 
8个16-bit寄存器，它们事实上是上面8个32-bit寄存器的低16位：%ax，%bx，%cx，%dx，%di，%si，%bp，%sp； 
]]></description><category></category></item></channel></rss>