治肾虚不含糖,专注内核性能优化二十年。 https://github.com/KnightKu
发布时间:2013-01-10 18:11:31
刚刚接触内核,在调试过程中用printk打印信息当然是直接有效的办法,但当我们不知到一个函数或者一个模块到底在哪里出了问题时我们可以利用dump_stack有效的找到问题的根源,下面只是简单的给出了使用方法。 我在自己的主机上试了一下dump_stack() Makefile文件 点击(此处)折叠或打开obj-m := hello.oKERNELBUILD :=/lib/modules/$(shell uname -r)/builddefault: ......【阅读全文】
发布时间:2013-01-03 15:33:42
By Jonathan Corbet May 24, 2011 The problem with prefetch 翻译:曾怀东 随着经验的增长,软件开发者会发现微优化的努力并不值得,尤其是在缺少针对具体问题的硬数据(hard data)的时候。性能问题通常不是出在我们认为的位置,所以没有头绪地进行调整试图获得更好的效果可能是徒劳的,甚至可能使事情变得更糟糕。这是内核开 发人员得到的教训。 在内核层面,性能通常受缓存行为的影响。真正高性能要求只有命中cpu缓存才能够满足,内存访问相比较显得过于缓慢了。内核尽量地使用cache- hot memory;以及其它一些其它重要的工作......【阅读全文】
发布时间:2013-01-02 10:22:02
分布式系统的设计中会涉及到许多的协议、机制用来解决可靠性问题、数据一致性问题等,Quorum 机制就是其中的一种。我们通过分布式系统中的读写模型来简单介绍它。 分布式系统中的读写模型 分布式系统是由多个节点(指代一台服务器、存储设备等)构成,由于网络异常、宕机等节点并不能保证正常工作,特别是在节点数量很大的时候,出现 异常状况的节点几乎是肯定的。为了保证系统的正常运行,能够提供可靠的服务,分布式系统中对于数据的存储采用多份数据副本(注:这里的副本并非只用来备 份,它可参与提供系统服务)来保证可靠性,也就是其中一个节点上读取数据失败了那么可以转向另外一个存有相同数据副本的节点......【阅读全文】