余璜的技术博客

好玩就好

如何写技术文章

下面是一个典范,把问题来龙去脉讲得很清楚,我很喜欢:著作权归作者所有。 商业转载请联系作者获得授权,非商业转载请注明出处。 作者:阿猫 链接:https://www.zhihu.com/question/20511233/answer/24260355 来源:知乎没有啥复杂的东西,考虑清楚需求,就...

2016-01-14 19:25:55

阅读数:571

评论数:0

如何阅读google perf tool产生的profile结果?

参考: http://google-perftools.googlecode.com/svn/trunk/doc/cpuprofile.html 基本方法简述: Class Name Method Name local (percentage) of cumulative ...

2013-09-04 18:20:00

阅读数:1349

评论数:0

Arch下通过代理翻墙来进行包安装的配制方法【makepkg,curl,pacman】

Arch下所有软件的安装都是通过pacman来管理的,不过pacman只会根据/etc/pacman.d/mirrorlist中提供的镜像来下载最新版的软件。 如果你需要一些老版的软件,例如gcc 4.1.2这种“比较老”的编译器,用pacman是搞不定的,这时候需要用到另外一套系统pkgbui...

2013-08-25 23:37:55

阅读数:4129

评论数:0

【原来如此】为什么很多应用都安装在/usr/local目录下?

很多应用都安装在/usr/local下面,那么,这些应用为什么选择这个目录呢?理解了最根源的原因后,也许对你理解linux组织文件的方式有更直观的理解。 答案是:Automake工具定义了下面的一组变量: Directory variable Default value prefix ...

2013-08-04 00:06:31

阅读数:2656

评论数:2

大页面支持与gcc static编译选项

<br />这两天在移植libhugetlbfs到2.6.36 for Loogson上,移植完成后需要测试linpack在大页面支持下的性能。但是却发现大页面对linpack无效,linpack死活不利用大页面。怎么回事?莫非linpack使用mmap接口分配内存?怎么这样呢~!&l...

2011-05-05 22:43:00

阅读数:3878

评论数:2

说法

<br />写了一个RandomAccess测试工具,用来模拟随机访存。其特点在于可以分区访问,所谓分区指的是将其访问的内存分为大页面支持区和小页面支持区,应用随机访问这两个区。利用该benchmark可以制造出大小页面并存于TLB并相互竞争的局面。 <br /> <...

2011-04-12 13:18:00

阅读数:753

评论数:1

指定某个cpu只运行指定进程的做法

进程与cpu绑定需要做四件事:一、把指定cpu从平衡算法剔除。二、把指定cpu上所有的中断请求搬到其他cpu。三、把指定cpu上的所有的进程搬到其他cpu。四、把指定进程到绑定到指定cpu。一、把指定cpu从cpu平衡算法剔除,机器启动后,用户进程自动不会在指定cpu上运行。做法如下:在/boot...

2011-01-08 00:13:00

阅读数:5868

评论数:0

【Linux启动命令行】介绍memmap

mem=nn[KMG] [KNL,BOOT] Force usage of a specific amount of memory<br /> Amount of memory to be used when t...

2010-12-30 17:33:00

阅读数:6311

评论数:1

使用 ftrace 调试 Linux 内核

<br />  ftrace 是内建于 Linux 内核的跟踪工具,从 2.6.27 开始加入主流内核。使用 ftrace 可以调试或者分析内核中发生的事情。ftrace 提供了不同的跟踪器,以用于不同的场合,比如跟踪内核函数调用、对上下文切换进行跟踪、查看中断被关闭的时长、跟...

2010-12-21 23:45:00

阅读数:1265

评论数:1

再思linux内核在中断路径内不能睡眠/调度的原因(2010)

Linux内核中断路径中不能睡眠,为什么?这里就行了很深入的讨论,值得一看:http://bbs2.chinaunix.net/viewthread.php?tid=1618430但是,他们的讨论最后没有得出一个明确的结论。其中,cskyrain在8楼 的思考触及到了一个要点,但是没有深入展开:c...

2010-07-28 12:14:00

阅读数:17658

评论数:0

超级计算机演义

<br />在BBC的一个栏目里面,看到了一个有趣的交互程序,展示了2010年6月份Top500超级计算机的方方面面:<br /> <br /> <br /> <br /> <br /><br /> <br ...

2010-07-13 22:39:00

阅读数:755

评论数:0

基于虚拟机的PC应用环境构建

<br />个人电脑用户最大的烦恼是什么?<br />不是速度不够快,不是应用不够丰富,而是电脑使用一段时间后,开机速度变慢、运行程序变卡、关机速度变慢、系统不稳定、中毒 等等。<br /> <br />如何解决这些问题呢?目前有两种主流方案:&l...

2010-07-07 13:02:00

阅读数:895

评论数:0

测试和修改page->flags的操作函数位于哪里?

<br />用Source Insight阅读Linux源码的朋友一定注意到过,类似于PageReserved() PageDirty() PageWriteback()之类的函数,都是白色的,找不到它们的定义在哪里。如图所示:<br /> <br /><...

2010-06-17 11:56:00

阅读数:2397

评论数:1

【Linux交换分区】 交换分区格式浅析

完成本文,使用了两个工具 1. strace 2. google code search. ----swap分区有一个大小为PAGE_SIZE的页面,称为signature页,上面记录swap分区的基本信息。static struct swap_header_v1 { char bo...

2010-05-20 11:27:00

阅读数:4052

评论数:0

Xen上的miniOS

原文:http://qyrekcah.spaces.live.com/blog/cns!D691A70904EDECB0!228.entry?wa=wsignin1.0&sa=674975121    在Xen上可以运行的最小OS,该miniOS直接用汇编程序编写,实现了Xen的hyper...

2010-01-06 10:14:00

阅读数:1646

评论数:0

操作系统研究该走向何方?

操作系统研究该走向何方? 拼性能?至少在单核或小数量多核(NR_CORE  拼稳定性?这个概念其实很虚,一方面稳定性依赖于上层应用特征,另一方面依赖于底层硬件质量。可以做的有二:其一是写好代码,可惜这与科研无关;其二是做好容错,一旦错误能够让损失最小化。对于商用系统,一般稳定性都较好。在集群中由于...

2010-01-05 17:44:00

阅读数:950

评论数:5

per-CPU变量的静态和动态分配原理

per-CPU是2.6内核中引入的,访问per-CPU变量几乎不需要锁,每个处理器都在其自己的副本上工作。这些副本是如何生成的呢?本文尝试解答这个问题。静态per-CPU结构设计思路大体可以分为两个阶段:编译阶段和运行时阶段在编译阶段,实际上只生成了一个CPU原本。系统中所有per-CPU结构都放...

2009-12-31 22:05:00

阅读数:4309

评论数:3

Kfree会睡眠吗?

回答:不会! kmalloc会。 所以,不能在spinlock环境下调用kmalloc。 http://lkml.indiana.edu/hypermail/linux/kernel/0411.2/1863.html 

2009-12-30 17:35:00

阅读数:1274

评论数:0

Linux ELF文件装入与执行概述

ELF是linux中使用最广泛的一种应用程序格式,为了弄清楚Linux内核是如何讲ELF文件精确映射到指定内存空间,上周末把内核sys_execve部分好好看了一遍,小结如下:1. ELF格式ELF指定了进程中text段、bss段、data段等应该放置到进程虚拟内存空间的什么位置,以及记录了进程需...

2009-12-28 20:37:00

阅读数:7509

评论数:0

为什么使用spinlock的时候不能睡眠

跟踪一下spin_lock(&mr_lock)的实现#define spin_lock(lock) _spin_lock(lock)#define _spin_lock(lock) __LOCK(lock)#define __LOCK(lock) /do { preempt_disable...

2009-12-10 17:36:00

阅读数:3497

评论数:9

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