耳机网-耳机大家坛

标题: RT内核之外的选择 [打印本页]

作者: 中关村东路    时间: 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很多。没遇到就当不存在吧...

确实没遇到过什么问题

作者: lalekuku    时间: 2024-9-23 11:54
我又来请教大佬了,请问arm64的xanmod内核编译时怎么开启Cloudflare ?menuconfig里没找到,不知道藏在哪里了
作者: 中关村东路    时间: 2024-9-23 12:46
lalekuku 发表于 2024-9-23 11:54
我又来请教大佬了,请问arm64的xanmod内核编译时怎么开启Cloudflare ?menuconfig里没找到,不知道藏在哪里 ...

没设配置,直接改的代码
作者: lalekuku    时间: 2024-9-23 22:05
中关村东路 发表于 2024-9-23 12:46
没设配置,直接改的代码

意思是xanmod新版内核里已经内置Cloudflare了?不需要在参数配置里选择?是从第几版开始内置的?
作者: 中关村东路    时间: 2024-9-24 14:14
lalekuku 发表于 2024-9-23 22:05
意思是xanmod新版内核里已经内置Cloudflare了?不需要在参数配置里选择?是从第几版开始内置的?[/backco ...

好多年了吧……
作者: lalekuku    时间: 2024-9-24 16:37
中关村东路 发表于 2024-9-24 14:14
好多年了吧……

还以为刚出来没两年呢。
arm64的xanmod内核怎么开启cloudflare呢?还是说默认就是开启状态?
依稀有印象好像要用sysctl来开启它

作者: 中关村东路    时间: 2024-9-24 17:55
lalekuku 发表于 2024-9-24 16:37
还以为刚出来没两年呢。
arm64的xanmod内核怎么开启cloudflare呢?还是说默认就是开启状态?
依稀有印 ...

记不清了,不确定可以看看cloudflare的blog

https://blog.cloudflare.com/optimizing-tcp-for-high-throughput-and-low-latency/



作者: lalekuku    时间: 2024-9-24 18:36
中关村东路 发表于 2024-9-24 17:55
记不清了,不确定可以看看cloudflare的blog

https://blog.cloudflare.com/optimizing-tcp-for-high-th ...

好的,

作者: lalekuku    时间: 2024-10-4 11:36
大佬节日快乐。
再次请教,你的git项目里怎么下载arm64内核的完整源代码?就是这个网址 https://github.com/zhjie/zhjie_gentoo_repo
我之前下载的源代码都是常规形式,就是.gz压缩的源代码包,下载后用tar -xvf解压缩后就能编译了。
你这个页面不知道该怎么下载完整的arm64内核源代码包,我很少用git,还没弄明白。
主要是想试试6.11 rt内核

作者: 中关村东路    时间: 2024-10-4 12:45
lalekuku 发表于 2024-10-4 11:36
大佬节日快乐。
再次请教,你的git项目里怎么下载arm64内核的完整源代码?就是这个网址 https://github.co ...

repo里是gentoo安装包,主要是在rpi内核基础上的各种补丁。下载rpi内核去github官方
作者: lalekuku    时间: 2024-10-4 13:16
中关村东路 发表于 2024-10-4 12:45
repo里是gentoo安装包,主要是在rpi内核基础上的各种补丁。下载rpi内核去github官方

明白了,谢谢

作者: lalekuku    时间: 2024-10-5 17:06
本帖最后由 lalekuku 于 2024-10-5 17:10 编辑

大佬,我尝试了一下6.12 RC1版内核,这版合并了Sched_ext调度器,据说这个调度器能进一步提升性能,不过我没找到开启它的地方
这个调度器有搞头吗?该怎么搞比较合适?

看介绍说6.12 重写了 PCM 缓冲区分配处理和锁定优化,并改进了 USB 音频驱动程序——怎么做才能充分利用这点?



作者: 中关村东路    时间: 2024-10-5 19:26
lalekuku 发表于 2024-10-5 17:06
大佬,我尝试了一下6.12 RC1版内核,这版合并了Sched_ext调度器,据说这个调度器能进一步提升性能,不过我 ...

增加bpf关键字搜一下

作者: lalekuku    时间: 2024-10-5 19:58
中关村东路 发表于 2024-10-5 19:26
增加bpf关键字搜一下

OK,

作者: ytsam    时间: 2024-10-9 17:17
请教大佬,树莓派在PI OS 64 LITE(debian 12)下安装roon brige和NAA,需要安装linux-image-rt-arm64实时内核吗?和普通内核比有明显区别吗?
作者: 中关村东路    时间: 2024-10-9 20:00
ytsam 发表于 2024-10-9 17:17
请教大佬,树莓派在PI OS 64 LITE(debian 12)下安装roon brige和NAA,需要安装linux-image-rt-arm64实时内 ...

可以试试,不考虑hifi,debian/ubuntu的rt内核维护的算是很好的。


作者: ytsam    时间: 2024-10-10 09:21
中关村东路 发表于 2024-10-9 20:00
可以试试,不考虑hifi,debian/ubuntu的rt内核维护的算是很好的。

感谢回复!Ubuntu 24 PRO下的x86机器做桥,pro免费的 realtime 核和 generic 核,roon bridge 和 naa 听不出来啥区别,木耳

回头试试 Ubuntu 24 PRO下的树莓派 arm64 ,实时内核和常规内核有没有区别

作者: lalekuku    时间: 2024-10-18 09:40
ytsam 发表于 2024-10-10 09:21
感谢回复!Ubuntu 24 PRO下的x86机器做桥,pro免费的 realtime 核和 generic 核,roon bridge 和 naa 听 ...

rt内核是基础,但只换内核并不够,还有与内核相关的其他优化也要做好才行。具体优化措施详见中关村大佬的其他技术贴





欢迎光临 耳机网-耳机大家坛 (http://erji.net/) Powered by Discuz! X3.2