中关村东路 发表于 2024-3-25 23:56

RT内核之外的选择

本帖最后由 中关村东路 于 2024-3-25 23:58 编辑

PC-HIFI最流行的内核就是RT实时内核了,达菲用户八成就正在用着吧。下图1是hqplayer作者miska在audiophilestyle的帖子,他说rt内核会导致数据吞吐量下降等性能损失,而arm设备用rt内核会有各种诡异bug等等。之前我的帖子也讨论过树莓派cm4上dwc2芯片在rt内核下的bug,以及如何用我迁移的automagic_rt解决。不过miska给出的解决方案是使用服务器版或者桌面版通用内核,这似乎有些得不偿失。本帖要介绍另外两种CPU调度器,BORE和BMQ,都以数据吞吐见长,用于串流和游戏等场景。不长篇大论了,放3张测试图,简单解释几句。




下图2是AudioLinux在AMD5800x下PREEMPT_RT的延迟测试,截图自他的主页。我们只要看两个数,average和max。前者小说明平均性能好,后者大说明测试波动大,都是越小越好。


下图3是我配置的内核在AMD5600x下BORE的延迟测试。可以说是用更差的硬件,用非实时内核,在延迟上碾压AudioLinux的实时内核了。


下图4是我配置的内核在AMD5600x下BMQ的延迟测试。比BORE略差,总的来说比AL的RT强。


需要解释一下,我的内核补丁集不只是这两个调度器,还有一些其他的补丁,有别人写的有我自己写的,还有我迁移的。在我系统上PREEMPT_RT性能没有Audiolinux这么拉胯,比BORE/BMQ要略好但提升不多。本帖主要想说RT并非唯一降低延迟的选项,BORE在archlinux下是有编译好的版本的,BMQ应该也有,感兴趣的可以自行搜索,性能应该和本帖在一个数量级上。Gentoo用户可以直接用的我源。

lalekuku 发表于 2024-3-26 16:29

arm64的板子,fq pie用在rt内核上应该就足够了吧

中关村东路 发表于 2024-3-26 22:00

lalekuku 发表于 2024-3-26 16:29
arm64的板子,fq pie用在rt内核上应该就足够了吧

miska的意思就是arm64在rt内核上bug很多。没遇到就当不存在吧...

lalekuku 发表于 2024-3-27 08:24

中关村东路 发表于 2024-3-26 22:00
miska的意思就是arm64在rt内核上bug很多。没遇到就当不存在吧...

确实没遇到过什么问题
页: [1]
查看完整版本: RT内核之外的选择