DMA Buffer Cache同步的批处理优化及高通平台的实践 宋宝华 1 day 3 hours ago 活动,“笑傲内核”小组核心成员陈雪原将代表小组出席活动,进行主题分享《DMA Buffer Cache同步的批处理优化及高通平台的实践》。2026年5月30日,深圳《 21cnbao
绝对不能因为AI而丧失独立思考的能力 宋宝华 1 week 2 days ago 对计算机的理解不能丢,对问题本质的理解不能丢,任何时候都要冷静思考,问题是什么,哪行代码最重要,前后逻辑是什么,要在哪里加trace,应该指挥AI写什么样的验证程序。我们应该通过前期的思考,分解问题,找到一个AI干最少的活、最精确的活的方法。绝对不能反过来被AI指挥。很多人有了AI之后,做事情已经完全不用脑子了,一开始没有经过严谨思考就指挥AI干活。现在已经有很多人离了AI已经不知道怎么干活了,就跟离了手机一样整个人就失魂落魄了!我真地觉得我们应该减少对AI的依赖,我们可以依靠AI,但是不能依赖AI。 21cnbao
LSF/MM/BPF系列:Yang Shi针对ARM64的this_cpu_ops优化 宋宝华 1 week 5 days ago 这里提出了严峻的挑战,就是每个CPU需要有单独的kernel page table,尽管里面绝大多数内容应该是一模一样的(应该也是可以共享的),除了local mapping的这些percpu数据以外。在x86_64情况下,每个CPU通过将各自的。这个__per_cpu_local_off在各个CPU是一样的(关闭抢占也不再必要),当然它们对应的物理页面的位置确实是不同的。对于x86处理器而言,由于segment寄存器的存在,this_cpu_*操作可以一条指令完成,这个过程是原子的。 21cnbao
国内OS公司在Linux主线的突围之路取决于英语化程度 宋宝华 2 weeks 1 day ago 或者换成了他的新皮,很可能几个人大几个月的工作都是白费的。现在mainline的风气,很大程度上还是取决于音量大,因为一些国际大厂的音量实在太大了。有没有代码,哪怕一行代码都没有,也可以先圈地,插个旗把地盘先占着,可以说是非常激烈的,加上现在AI这波搞地大家都异常地焦虑。我觉得唐葛亮唐大侠这次做地非常好,我们要发出我们的声音,唐大侠为了今年的lsf/mm/bpf练习英语都练习了好久,出发前找了几个陪练,我也和他对线练习。不然,我们还是做做我们自己的国产化生意好了,那个生意其实挺好的。 21cnbao
论不生气与共享credit 宋宝华 3 weeks 2 days ago 首要的一点,不生气,格局要大。社区里面不要patch一发有人喷你就生气,生气格局就小了。对自己的方案有足够的自信,能够说服自己,自信地坚持、优雅地劝服。项羽是盖世英雄,他拥有五千年华夏文明史上至高的个人credit,但是没有把credit给其他人,最后还是输。如果有项羽的盖世能力,又有刘邦的分享credit的思想,则无敌。共享credit这很重要,只有把自己的credit变成别人的credit,这样别人的credit才能变成自己的credit。credit,说白了,就是一个互相成就的过程。 21cnbao
《top-down性能分析法》视频分享 宋宝华 1 month 1 week ago 几个top-down性能分析的案例,memory bound, frontend bound, false sharing, cache颠簸,prefetch等案例。以及参与内核社区开发贡献志愿者招募流程说明。 21cnbao
while(1);的top-down分析 宋宝华 1 month 1 week ago 这种极简循环里,它被定义为 Core Bound 的子项,表示“虽然我没卡住(0% Backend Bound),但我已经被这条单指令压榨到了单端口执行的极限”。指令在现代 CPU 中通常在前端就被处理掉(Nop-elimination),或者被分配到一个极其简单的微操作。frontend bound消除,backend bound到15.7%,84.2%的时间在retiring指令。这一半的 Slot 退休了(50% Retiring),另一半空着(50% Frontend Bound)。 21cnbao
while(1);的top-down分析 宋宝华 1 month 1 week ago 这种极简循环里,它被定义为 Core Bound 的子项,表示“虽然我没卡住(0% Backend Bound),但我已经被这条单指令压榨到了单端口执行的极限”。指令在现代 CPU 中通常在前端就被处理掉(Nop-elimination),或者被分配到一个极其简单的微操作。frontend bound消除,backend bound到15.7%,84.2%的时间在retiring指令。这一半的 Slot 退休了(50% Retiring),另一半空着(50% Frontend Bound)。 21cnbao
while(1);的top-down分析 宋宝华 1 month 1 week ago 这种极简循环里,它被定义为 Core Bound 的子项,表示“虽然我没卡住(0% Backend Bound),但我已经被这条单指令压榨到了单端口执行的极限”。指令在现代 CPU 中通常在前端就被处理掉(Nop-elimination),或者被分配到一个极其简单的微操作。frontend bound消除,backend bound到15.7%,84.2%的时间在retiring指令。这一半的 Slot 退休了(50% Retiring),另一半空着(50% Frontend Bound)。 21cnbao
while(1);的top-down分析 宋宝华 1 month 1 week ago 这种极简循环里,它被定义为 Core Bound 的子项,表示“虽然我没卡住(0% Backend Bound),但我已经被这条单指令压榨到了单端口执行的极限”。指令在现代 CPU 中通常在前端就被处理掉(Nop-elimination),或者被分配到一个极其简单的微操作。frontend bound消除,backend bound到15.7%,84.2%的时间在retiring指令。这一半的 Slot 退休了(50% Retiring),另一半空着(50% Frontend Bound)。 21cnbao
while(1);的top-down分析 宋宝华 1 month 1 week ago 这种极简循环里,它被定义为 Core Bound 的子项,表示“虽然我没卡住(0% Backend Bound),但我已经被这条单指令压榨到了单端口执行的极限”。指令在现代 CPU 中通常在前端就被处理掉(Nop-elimination),或者被分配到一个极其简单的微操作。frontend bound消除,backend bound到15.7%,84.2%的时间在retiring指令。这一半的 Slot 退休了(50% Retiring),另一半空着(50% Frontend Bound)。 21cnbao
while(1);的top-down分析 宋宝华 1 month 1 week ago 这种极简循环里,它被定义为 Core Bound 的子项,表示“虽然我没卡住(0% Backend Bound),但我已经被这条单指令压榨到了单端口执行的极限”。指令在现代 CPU 中通常在前端就被处理掉(Nop-elimination),或者被分配到一个极其简单的微操作。frontend bound消除,backend bound到15.7%,84.2%的时间在retiring指令。这一半的 Slot 退休了(50% Retiring),另一半空着(50% Frontend Bound)。 21cnbao
while(1);的top-down分析 宋宝华 1 month 1 week ago 这种极简循环里,它被定义为 Core Bound 的子项,表示“虽然我没卡住(0% Backend Bound),但我已经被这条单指令压榨到了单端口执行的极限”。指令在现代 CPU 中通常在前端就被处理掉(Nop-elimination),或者被分配到一个极其简单的微操作。frontend bound消除,backend bound到15.7%,84.2%的时间在retiring指令。这一半的 Slot 退休了(50% Retiring),另一半空着(50% Frontend Bound)。 21cnbao
while(1);的top-down分析 宋宝华 1 month 1 week ago 这种极简循环里,它被定义为 Core Bound 的子项,表示“虽然我没卡住(0% Backend Bound),但我已经被这条单指令压榨到了单端口执行的极限”。指令在现代 CPU 中通常在前端就被处理掉(Nop-elimination),或者被分配到一个极其简单的微操作。frontend bound消除,backend bound到15.7%,84.2%的时间在retiring指令。这一半的 Slot 退休了(50% Retiring),另一半空着(50% Frontend Bound)。 21cnbao
while(1);的top-down分析 宋宝华 1 month 1 week ago 这种极简循环里,它被定义为 Core Bound 的子项,表示“虽然我没卡住(0% Backend Bound),但我已经被这条单指令压榨到了单端口执行的极限”。指令在现代 CPU 中通常在前端就被处理掉(Nop-elimination),或者被分配到一个极其简单的微操作。frontend bound消除,backend bound到15.7%,84.2%的时间在retiring指令。这一半的 Slot 退休了(50% Retiring),另一半空着(50% Frontend Bound)。 21cnbao
while(1);的top-down分析 宋宝华 1 month 1 week ago 这种极简循环里,它被定义为 Core Bound 的子项,表示“虽然我没卡住(0% Backend Bound),但我已经被这条单指令压榨到了单端口执行的极限”。指令在现代 CPU 中通常在前端就被处理掉(Nop-elimination),或者被分配到一个极其简单的微操作。frontend bound消除,backend bound到15.7%,84.2%的时间在retiring指令。这一半的 Slot 退休了(50% Retiring),另一半空着(50% Frontend Bound)。 21cnbao
while(1);的top-down分析 宋宝华 1 month 1 week ago 这种极简循环里,它被定义为 Core Bound 的子项,表示“虽然我没卡住(0% Backend Bound),但我已经被这条单指令压榨到了单端口执行的极限”。指令在现代 CPU 中通常在前端就被处理掉(Nop-elimination),或者被分配到一个极其简单的微操作。frontend bound消除,backend bound到15.7%,84.2%的时间在retiring指令。这一半的 Slot 退休了(50% Retiring),另一半空着(50% Frontend Bound)。 21cnbao