摘要: 本文主要是对平时工作和Ulrich Drepper的《What Every Programmer Should Know About Memory》中软件性能优化方法的总结归纳,主要为了方便日后快速查看和检查,不涉及方法具体细节。本文涉及的软件性能优化手段包括cache、TLB、预取、多线程、总线带 阅读全文
posted @ 2017-05-27 16:17 wahaha02 阅读(2492) 评论(0) 推荐(0) 编辑
摘要: rsyslog介绍 rsyslog 是一个 syslogd 的多线程增强版。它提供高性能、极好的安全功能和模块化设计。虽然它基于常规的 syslogd,但 rsyslog 已经演变成了一个强大的工具,可用于: 接收来自各种来源的输入 转换它们 将结果输出到不同的目的地 rsyslog移植 移植版本 阅读全文
posted @ 2017-05-17 16:26 wahaha02 阅读(691) 评论(0) 推荐(0) 编辑
摘要: 有一段时间(大概是2011至2013年期间)有个习惯,喜欢在微博、微信上会随手记录些软件设计和编程语言的思考和随想。前几天翻看以前的记录,给意外刨了出来。当时的一些想法,时过境迁,可能也有了变化,这里就不做修改了,就把内容简单整理一下,放在这里做个原生态的记录。 软件设计 函数式 阅读全文
posted @ 2017-04-24 15:16 wahaha02 阅读(249) 评论(0) 推荐(0) 编辑
摘要: 面向对象发展到今天,已经出现了许许多多优秀的实践、方法和技术。很多的技术都能够有效的提高软件质量。IBM上的《面向对象软件开发和过程》系列文章对面对对象设计从如下层面进行了详细的介绍:代码是核心、 案例实战(上)、 案例实战(下)、 重用、优化代码的组织、 针对契约设计、 业务建模。 虽然文章中的案 阅读全文
posted @ 2017-04-05 11:35 wahaha02 阅读(809) 评论(0) 推荐(0) 编辑
摘要: linux kernel 内存管理是个很大的话题,这里记录一点个人关于slab模块的一点思考总结。 有些书把slab介绍成高速缓存,这会让人和cache,特别是cpu cache混淆,造成误解。slab最开始的目的是解决频繁内存分配的效率问题,所以把频繁分配回收的对象,预先分配并初始化好,后面的对象 阅读全文
posted @ 2017-03-25 13:42 wahaha02 阅读(3005) 评论(0) 推荐(0) 编辑
摘要: PMBus协议规范介绍 PMBus是一套对电源进行配置、控制和监控的通讯协议标准。其最新版本为1.3,该规范还在不断演进中,比如新标准中新增的zone PMBus、AVSBus等特性。在其官网上有详细的规范文档,本节不尝试翻译规范文档,重点记录作者在了解PMBus过程中的疑问和解答。 PMBus与I 阅读全文
posted @ 2017-02-27 19:47 wahaha02 阅读(7744) 评论(0) 推荐(1) 编辑
摘要: 不同CPU体系间的中断控制器工作原理有较大差异,本文是《Linux mips64r2 PCI中断路由机制分析》的姊妹篇,主要分析Broadwell-DE X86_64 APIC中断路由原理、中断配置和处理过程,并尝试回答如下问题: 为什么x86中断路由使用IO-APIC/LAPIC框架,其有什么价值 阅读全文
posted @ 2017-01-22 20:01 wahaha02 阅读(6197) 评论(0) 推荐(2) 编辑
摘要: 现状与问题 BSP团队负责多个项目单板的BSP开发维护,目前共96块板卡之多,而且板卡因为改版,往往还存在多个版本。每块板卡都有相应的单板控制,负责板卡的设备注册、板上芯片初始化、外部中断初始化、EPLD资源管理、BSP回调及IOCMD接口实现等等。 在老的软件架构和开发模式下,新板卡的单板控制开发 阅读全文
posted @ 2016-12-15 10:14 wahaha02 阅读(1119) 评论(0) 推荐(0) 编辑
摘要: Linux mips64r2 PCI中断路由机制分析 本文主要分析mips64r2 PCI设备中断路由原理和irq号分配实现方法,并尝试回答如下问题: PCI设备驱动中断注册(request_irq)时的irq#从哪里来?是硬件相关?还是软件相关? 中断上报时,CPU是如何获得这个irq#的? 本文 阅读全文
posted @ 2016-12-03 16:21 wahaha02 阅读(2021) 评论(0) 推荐(0) 编辑
摘要: Linux kernel官网cgit工具不支持按变更代码进行补丁搜索,想到个办法就是把补丁都抓下来,这样可以在本地搜索。花了2个小时写了个小工具,话不多说,直接看效果: E:\docs\TOOLS\python\patch_spider>python patch_spider.py linux-3. 阅读全文
posted @ 2016-11-18 20:15 wahaha02 阅读(1306) 评论(0) 推荐(0) 编辑