总是选择难的那条路

2018年10月16日,宋牧春童鞋merge了人生的第一个patch:

2021年6月,宋牧春童鞋每月都在贡献有实质性价值的patch:

最近的vmemmap针对大页省内存的patch,他发了23版才合入,详见文章:

围绕HugeTLB的极致优化

就这个事情本身,笔者在“关于Linux学习和工程的方法学”的微信群里面,也有过在下的评论:

在下的观点是,我们作为一个个体,永远是有选择的空间的。在发100个cleanup的patch进入高排名有好的KPI,和坐冷板凳把1个有价值的patch发23版直到合入之间,我们总是可以选的,我们总是可以选难的那条路的。

选择难的那条路,会有自身的彷徨,会有他人的质疑,但是总有一天可以凤凰涅槃,拨云见日。选择重复、自我放逐、做简单的事情,刷单一时爽,但是长久下去,也是误终身啊。

基于同样的道理,我们决定了写一本前人从未写过的书“关于Linux性能优化的书”,我们没有任何可以借鉴和“抄袭的”’。我们选择了不重复写内核、写驱动,以及写任何有可以模仿的大纲的内容。

《Linux——性能优化篇》目录

性能优化的计算机体系结构原理

第一章 必须理解的计算机体系结构知识

1.1 现代计算机系统是怎么工作的

1.2 SMP和超线程

1.3 cache、内存、总线、DMA和I/O

1.4 cache一致性协议与False Sharing

1.5 处理器微架构及IPC与CPI

1.6 MMU与IOMMU技术

1.7 设备用户态透传技术

1.8 NUMA

 

第二章 硬件对性能优化的底层支撑

2.1 硬件支持的trace能力

2.2 硬件支持的profiling能力

2.3 不可屏蔽中断

2.4 原子操作相关的优化

2.5 页表、TLB管理相关的优化

2.6 I/O相关的优化

 

性能优化的操作系统原理

第三章 Linux进程调度与调度优化

3.1 Linux进程调度的主要目标

3.2 实时进程的调度

3.3 普通进程的调度

3.3 多核与负载均衡

3.4 NUMA系统下的调度

3.5 CPU隔离

3.6 NUMA与进程调度

3.7 调度器相关的参数与配置

 

第四章 Linux内核管理与调优参数

4.1 物理内存管理,page和buddy

4.2 slab以及用户态库malloc的二级管理

4.3 kmalloc和vmalloc

4.4 进程的内存映射

4.5 page cache和inode, dentry cache

4.6 匿名页与swap

4.7 NUMA与内存管理

4.8 内存回收的参数与配置

4.9 脏页写回的参数与配置

 

第五章 Linux I/O与调优

5.1 文件读写与内存管理的关系

5.2 文件读写I/O的全流程

5.3 BIO与块层处理机制

5.4 阻塞、非阻塞、多路复用、异步I/O与io_uring

5.5 各种存储介质与差异

5.6 常见的文件系统与工作原理

5.7 NVDIMM与DAX

5.8 块层相关的参数与配置

5.9 文件系统相关的参数与配置

 

第六章 Linux 网络与调优

6.1 Linux网络概述

6.2网络优化的基本宗旨

6.3 影响Linux网络性能的因素

6.4 Linux TCP单机性能优化

6.5 Linux TCP拥塞控制优化 

6.6 Linux UDP单机性能优化

6.7 DPDK/XDP/SmartNIC概述

6.8 Linux作为转发路径的性能优化

6.9 增加带宽/缩短路径(前移至子章节)

 

 

性能优化的方法学和工具

第七章 性能优化的方法学

6.1 过早的优化是万恶之源

6.2 找到真正的瓶颈

6.3 USE模型

6.4 top-down分析方法

 

第八章 编写高性能的程序

7.1 阿姆达尔定律

7.2 C10K以及衍生问题

7.3 意识到cache的编程

7.4 多线程、I/O模型的设计

7.5 减少程序的资源消耗

7.6 让程序能充分利用硬件的拓扑

 

第九章 常用性能分析工具

8.1 常用的Linux性能工具(top,iotop,vmstat,iostat等)

8.2 ftrace、tracepoints、kprobe、uprobe

8.3 perf

8.4 trace-cmd

8.5 eBPF/BCC

8.6 火焰图

8.7 kernelshark

 

第九章 典型性能瓶颈分析

9.1 当热点在CPU

9.2 当瓶颈是因为内存不足

9.3 当瓶颈是因为I/O延迟

9.4 当瓶颈是因为网络

9.5 当瓶颈是因为内核驱动

10几年前在下写下《Linux设备驱动开发详解》,后面选择了不断迭代这同一本书,1版,2版,3版。今天我们选择写一本实质性提高工程水平的书,比10几年前对自身提出了更加高的要求。

已邀请3位一线专家加我自己,一起来干这件事情。我们的原则是每个字必须自己亲自打,谈自己的真实体会、感想和心得,到了这个年龄干这事情绝对目的要纯洁。用我们的内卷,换更多人的不内卷。

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

宋宝华

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值