自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(142)
  • 收藏
  • 关注

原创 Eclipse CDT 设置 for Linux kernel module开发

0. Create C Makefile project1. Project property: c/c++ general -> Paths & Symbols -> Includes -> GNU C -> Add: /usr/src/linux-headers-3.19.0-25/arch/x86/include /usr/src/linux-headers-3.19...

2017-04-24 23:27:49 240

原创 ubuntu setup notes

Some tips to install and setup UbuntuHow to install Chrome & Flash plugin1. sudo apt install chromium-browser2. Open "Software & UPdate" Panel -> "Other Software" Tab -> check "Canonical Partn...

2017-04-09 14:31:29 198

原创 将博客搬至CSDN

站内广告csdn提供的搬家功能,能不能两边自动同步呢?

2017-03-29 23:00:54 184

原创 继续玩算法:两个字符串中有没有不一致的字符?

闲着无聊在微信上看到一个皮裤子面试算法的问题,面试者Paul后来用皮裤子的算法赢得了Google的职位。题目如下:假设这有一个各种字母组成的字符串,假设这还有另外一个字符串,而且这个字符串里的字母数相对少一些。从算法是讲,什么方法能最快的查出所有小字符串里的字母在大字符串里都有?  比如,如果是下面两个字符串:  String 1: ABCDEFGHLMNOPQRS  Stri...

2017-03-29 22:49:25 222

原创 原创算法: 字符串查找匹配

从来没想过枯燥的算法居然也能上瘾。 字符串匹配是不是可以这么做,类似于hash, 但是更快1. hash算法简化,比如取每个字符相加,2. key长度len, 从0开始,取前len个字符hash3. while (hash不一致 || 逐个字符比较不一致) && 没到字符串末尾5. hash减掉当前字符,加上len+1位置字符--------------------...

2017-03-28 23:12:50 233

原创 瞎掰一个效率最高的整数排序算法,bitmap排序,时间复杂度O(n)

先上结果,速度上秒掉各种排序:1e4 Straight Insertion: 0.109916 Sec1e4 Bitmap sorting : 0.000214 Sec1e8 Bitmap sorting : 6.568575 Sec前提条件是一般测试数据偏差不大,因此可以用bitmap来标记数据,标记完了自然就排序完成。比堆排序还要快一两个数量级。缺点也很明显...

2017-03-27 01:59:13 541

原创 2-3树的C实现

B树一个Node可以有N个key, N+1个下级Node, 二叉树就是简化版,一个key两个下级node2-3树和2-3-4树的区不大,2-3树在插入时先找到叶子节点(没有子节点),然后插入,过程中如果已经是3Node(2 key)就分裂,向上冒泡,一直可能冒泡到顶上。2-3-4树则在向下找叶子节点时就做调整,把4Node(3 key)提前分裂掉,为下级节点腾出空间,所以叶子节点插入后...

2017-03-26 19:39:29 585

复杂一点的灯光控制verilog fsm

[code]`define N_LED 4`define LEDS_OFF {`N_LED{1'b1}}`define LEDS_ON {`N_LED{1'b0}}`define RIGHT_ON {{`N_LED-1{1'b1}}, 1'b0}`define LEFT_ON { 1'b0, {`N_LED-1{1'b1}}}module LedFsm ( input...

2017-03-22 23:27:00 212

原创 MoonGen - 灵活又高性能的收发包工具

MoonGen是一个高性能的基于CPU的收发包工具DPDK保证其性能强大,用单核x86 CPU可以收发64B 10GLua是比较流行的小巧灵活的脚本语言,收发包逻辑修改后不用编译,直接运行,因为是脚本。LuaJit是Lua的x86即时编译工具。这三兄弟组合就是灵活的MoonGen引擎,运行Lua脚本用来执行收发包逻辑,很容易写出比专业测试仪还复杂的逻辑。编译步骤:[li...

2017-02-16 19:12:33 2135

原创 ODP/DPDK代码级性能优化总结Tips

ODP/DPDK代码级性能优化总结Tips以下过程基于ARM 64位CPU, 仅供参考ODP是Linaro基金下面的开源框架,类似于DPDK。最近用ODP程序DEMO公司SOC性能,性能不理想,优化了一圈又一圈,发现驱动水分很大,包括ODP框架本身。中间不听Architect的建议,自作主张用DPDK+ODP来展示一下我们的多样化驱动, 找到方案,开发中发现DPDK驱动性能也不理想...

2016-12-24 23:36:49 1324 1

原创 P4 资源搜集

10/30/2016 P4资源搜集:看了杨帅的slides发现ONOS 1.6已经有实验性的P4支持,并且可以demo:https://wiki.onosproject.org/display/ONOS/P4+Experimental+Support+via+BMv2ONOS是Java的Controller, 通过BMv2的Thrift远程接口调用,Controller本身也需要编...

2016-10-30 22:17:48 548 1

p4lang: switch-更完善的P4例子

10/16/2016 发现CI/travis目录下面有依赖工具的安装脚本,供参考switch是个参考的switch例子,很多表可以参考,并且生成了SAI等API供调用。============================================首先要参照前面两篇文章安装BMv2(p4-behavioral-model)和p4c-bmv2(p4c-bm)安装P...

2016-10-16 21:56:14 1180

P4 behavioral-model: BMv2

今天是10/15/2016,如果时间太久请移步https://github.com/p4lang/behavioral-model参考最新信息。BMv2是一个交换机模拟引擎,和p4-factory不同,不依靠代码生成,而是根据p4c-bm编译生成的JSON动态生效。安装:===================================================因...

2016-10-16 16:03:25 3497

p4-hlir和p4c-bm 编译工具

本文时间10/15/2016,如果时间久远请参考网站 以免被旧信息误导p4-hlir项目解析p4,可以看成p4语言的python解析器,生成对应的python对象。基于这个解析结果可以再加上模板输出json或者c, 或者RTL,或者DPDK,或者NP的微码。。BMv2可以看成是一个设备或者模拟器,p4c-bm就是调用p4-hlir解析p4,生成BMv2配置所需的json文件和远...

2016-10-15 22:07:30 951

原创 p4lang quick start: p4-factory

[color=blue]注意:BMv2是最新的模型,请参考后面文章,这个仅供参考10/16/2016[/color]==============================p4lang官网p4.org上的视频比较老,不能简单执行成功,下面是根据p4factory的guide安装过程,运行成功,仅供参考:#虚拟机安装ubuntu1404版本,升级到最新#克隆p4fac...

2016-10-15 02:00:12 189

原创 从DPDK的snake test看性能影响因素

snake test一般把数据包在各个端口之间来回转,形成比较大的满负荷。testpmd是dpdk用来验证两个直连网卡的性能,双方对打流量。如果没有硬件(你怎么什么都没有啊?)我们一样可以玩。 Linux下的tap就是成对出现的粒子,不,虚拟网卡,创建以后,什么bridge都不要,他们就是天然的好基友。。。# ip link add ep1 type veth peer name ...

2016-09-26 21:24:00 820

原创 现在的NFV架构是否存在重大性能问题

一般的vCPE都选择用VM或者container部署在多核上,OVS分配网络,每个容器/vm里面跑DPDK以求达到性能最优,这里有几个问题:1. 每个core上的负载不均衡,有的vnf可能很空闲,有的又很忙,成为瓶颈。如果不绑定到core, 系统上下文切换又造成延时2. 每个VNF要从虚拟网卡上取数据,可能是ovs,也可能是sriov,要经过内核态用户态切换,包数据解析,组包,甚至送到硬件...

2016-09-21 00:00:21 626

原创 基于SoftRoCE 了解RDMA

RDMA是基于IB技术的内存直接传送,无需内核参与,硬件网卡搞定。IB需要HPC领域的专用硬件,ROCE则是RDMA协议在普通以太网卡的实现,RoCEv1是在MAC上的二层封装,局域网内可以,要通过路由器则需要RoCEv2, 基于UDP的版本。那么RDMA为什么快呢?普通网卡要接收完整报文,支持RoCE网卡直接读写内存,不用去内核绕圈子。就像我们有1G内存要复制到对方,这是个大快递,一般我...

2016-09-11 21:17:12 1628

lvm下面的分区调整

/sda2上有两个逻辑分区分区需要调整, 一个增加,一个缩小分区:/dev/vg-data/data 4G xfs -> /data //目标max/dev/vg-data/backup 4G btrfs -> /backup //目标1Gbtrfs filesystem resize 1G /backuplvreduce /dev/vg-data/backup -L 1G...

2016-09-03 15:59:31 171

原创 Git 深入理解

从知乎上看到有人推荐这篇文章深入理解GIT, 因为GIT看起来功能很多,其实原理很简单。 GIT from the Bottom uphttps://jwiegley.github.io/git-from-the-bottom-up/1-Repository/5-the-beauty-of-commits.html重点:[list][*]文件是blob, 相同内容hash一...

2016-08-22 20:36:01 203

原创 Yocto通过SOCK5下载源码

First you need a SOCKS5 server, use ssh to create your own...export SOCKS_SERVER=xxx.xxx.xxx.xxx:xxxsocksify bitbake .......http://unix.stackexchange.com/questions/38755/how-to-download-...

2015-12-17 23:13:28 153

修复Centos yum错误

Yum 报错: No module named yumPython –V 显示为2.6.ls /usr/local/lib/python2.6/site-packages/ 下面是空的手工安装python2.4 rpm: http://mirror.web-ster.com/centos/5.10/os/i386/CentOS/修改/usr/bin/yum,第...

2013-12-27 12:28:18 533

Broadcom SDK under Eclipse CDT

Eclipse version: KeplerBroadcom交换芯片SDK有很多Macro, Make.config中定义,defs.h中也定义,一些生成的文件中也定义,在Eclipse的CDT中浏览或者开发代码时,要让eclise aware这些marcro才能又对应的index, 怎样让Make.local中的定义和Eclipse中看到的一样呢。。。。经过不懈的追求。。其实很...

2013-07-27 17:27:06 111

gdb远程调试的libthread_db和libpthread的mismatch

一个test.dbg, 一个trim过的test.bin远程gdbserver :2345 test.bin因为test.bin trim过,所以很小,执行加载快,一般用这个。本地调试:gdb testgdb> target remote xxx.xxx.xxx.xxx:2345gdb>...远程出现错误如下:gdb: error initializing ...

2013-03-22 19:05:44 1538

利用qemu写mips汇编程序控制malta显示器

hello world不会写,先玩玩malta虚拟器上的跑马灯,就是qemu起来后ctrl+atl+5切换出来那个,安装debian mips版本后会有个"LINUX ON MALTA"在那一直循环。参考之前的文章,windows和linux下都有qemu,gnu的交叉编译工具也都有,所以两个平台应该都能跑。本文参考了:http://comments.gmane.org/gma...

2012-09-02 21:37:04 399

原创 ubuntu下qemu 安装 debian mips

参见:http://www.aurel32.net/info/debian_mips_qemu.php其中mipsel小端网络安装的内核和initrd在http://ftp.de.debian.org/debian/dists/squeeze/main/installer-mipsel/current/images/malta/netboot/qemu参数-M 不需要,缺省为malta...

2012-09-01 12:47:27 474

openocd调试mips芯片

启动openocd:bin\openocd-0.6.0-rc2.exe -f parport.cfg -d -f scripts\board\pic-p32mx.cfg启动telnet:telnet localhost 4444> 查看当前有哪些设备[quote]> scan_chain TapName Enabled IdCode E...

2012-08-31 11:23:25 667

终于搞定了Jtag...

Jtag一直是传说中的神器. 以前刷dd-wrt变砖的时候就想用它玩玩,结果当时把无线路由忙刷好了, 买回来的线就一直在抽屉中沉睡. 这几天玩嵌入系统, 把那根简陋的线找出来, 看看原理, 准备施展一番, 没想到居然左右连不上设备...今天终于连接成功, 整理一下遇到的问题. 因为是公司的设备, 还好能找到电路图.1. JTAG插座引脚标准混乱, 每个厂家板上的接口都不一样, 有5脚的, 有1...

2012-08-30 21:03:59 3242

原创 最简单的免费ARM学习环境的建立

这几天在看arm, 有几种免费选择:1. 如果学汇编, 用qemu即可,它可以直接执行arm汇编程序。 apt-get install qemu-system qemu-arm -L /usr/arm-linux-gnueabi ~/workspace/hello/Debug/hello 动态链接也可以哦2. 懒得开模拟器?有android手机?root过?好,装上adb驱...

2012-08-25 23:22:05 161

Qemu eclipse CDT 调试kernel设置

这个很简单的环境居然害我搞了几天。。。真是要崩溃。。。不靠谱的东西太多了。1. linux kernel 3.2.27, 这个编译很方便,但是2.6最新分支2.6.35编译出来总是提示没有symbol gdb断点start_kernel停不住。2. ubuntu这个老朋友也靠不住了,用wubi模式在win7下安装,进去以后磁盘操作相当慢,升级到最新内核有所好转,仍然暴慢,经常卡顿,感觉磁盘...

2012-08-18 22:56:57 148

原创 dd-wrt 做专职ssh port tunnel forwarding

我们都知道ssh有个好用动态端口转发功能叫....ssh -D {port} user@host, 运行之后就可以在本地起一个socks代理, 用firefox设置好socks5代理之后, 就可以共享server一端的风花雪月...所以...如果你在家, 有多个电脑设备要共享, 最好让dd-wrt帮我们建立连接....可是...dd-wrt自带的ssh没有找个动态端口转发功能...好吧...

2011-09-26 23:27:51 180

原创 openssl cypto库证书验证(含撤销证书验证)

这里是二级证书验证, 注意CRL撤销证书必须由二级证书撤销, 顶级证书可以撤销, 并且命令行不会出错, 但是无法验证出.[code="c"]/* openssl ca -config CM.cfg -revoke badcert.pem openssl ca -config CM.cfg -gencrl -out crl.pem cat certs/root.pem certs...

2011-09-24 18:03:24 815

DELL U2410显示器发红的解决方案

很简单, 换成DVI线连接. 不要用display port

2010-10-21 16:29:40 2239

程序员的取暖方式: 写程序取暖

需求:天冷了, 空调没开, 怎样取暖呢? 听说芬兰的小孩尿裤子取暖, 我们开发人员, 当然写程序用电脑取暖了! 而且很简单设计:CPU大部分时间都没什么负载, 不会产生多少热量. 所以电脑平时摸着不温不火. 但是当CPU满载的时候, 热量可观, 甚至烫手! 相信HP的用户很有同感. CPU温度升高的时候, 大多数主板风扇自动高速运转, 把暖风吹使劲的吹出来, 从而让CPU冷却下来....

2010-09-29 18:04:02 412 1

net-snmp 在ubuntu下开发

环境:Net-snmp 5.5 ubuntu9.04 amd64./configure –with-mib-modules=”xxx yyy zzz”Xxx yyy zzz是agent/mibgroups/目录下的对应模块名,可参考testhandler/examples如果模块没有被加载,请检查agent/mibgroup/mib_moudle_*.hmakesudo m...

2010-09-02 18:40:47 154

Solaris下Java的影子进程

Solaris下面Java进程出现幻影。。参数一模一样,不同的是父进程为java进程,而幻影占用掉了实实在在的内存。。。用pstack发现是jboss下的一个其它应用调用了Runtime.exec(…),看样Process出错了而没有及时处理getErrorStream 和getInputStream。在其它语言中经常可见`xxx`即可执行shell,而java中不但没有,一个exec还经...

2010-08-31 15:32:09 156

SH86260 芯片 苹果夹子 mp3 修复....

最近要学英语, 想找个小的MP3用, 正好老婆那办招行信用卡, 赠送的一个mp3一直没用.拿来一看很小巧, 查到电脑上显示容量1G, USB2.0速度还不错. coyp了一个G的音乐进去...耳机里面却放不出来....再插上电脑, 开机长按播放按钮有盘符, 但是提示请把磁盘插入驱动器....晕菜...有盘符说明基本动作正常, 根据设备的usb属性, VID 0603 PID B5D4 ...

2010-08-28 21:54:21 314

双机mysql cluster的脑裂

两台机器构成的mysql cluster, 每台上都跑ndbd_mgmd, ndbd, mysqldndb_mgmd -f /var/lib/mysql-cluster/config.ini -v --nodaemon &ndbd拔一台机器网线后,没拔网线机器的ndbd应该接管,实际上却自动重启,导致整个mysql cluster不能服务。分析:mysqld和ndb_mgm...

2010-08-16 13:14:21 599

请看谷歌的搜索排名,和竞价结果有什么不同?

先承认俺家那个败家的的确很败家。。。上班时老婆来电,家里热水器坏了,关掉水龙头还有小火在燃烧。赶快叮嘱老婆,关掉下面的煤气开关,立即叫厂家来维修!下午,老婆来电:“我们运气好,没爆炸,师傅给修好了,1100元,换了电路板/冷水开关/热水开关,把原来的零件回收了,再优惠点,实际收了900。。。没开发票!”放下电话,我就知道糟了,这傻子被骗了!晚上回来看到还在滴答滴答漏水的热水...

2010-07-14 23:04:06 115

HP DV2000 内存升级3G成功

感谢HP的售后服务,当然不能感谢他的烂主板设计。电脑起死回生后,温度可人。然而,开了vmware安装unbuntu10.04 x64,硬盘忙的要命。开eclipse+浏览器+startdict+terminal硬盘就忙晕了。痛定思痛,购买2G内存升级。+原来的1G, 3G后, xp/vmware都很happy, 硬盘灯基本熄火。购买前比较犹豫,网上很多网址都说dv215...

2010-07-09 20:55:51 570

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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