
-
2022-02-25, 05:21 PM
#801
 作者: silaslin
山姆叔,
回報一下,
我這邊需要把 grub 的 nosmt 拿掉,才能順利讓 LMS 和 Squeezelite 使用 cpuisolation,不曉得是什麼問題。
kernel-cfg.sh 似乎還是有一樣的錯誤訊息。
我對於cpu isolation,是採用真正有四核心才會使用。
似乎對PC有經驗的樂友都是把多線程關了。
因為Linux對多數樂友使用上有門檻,
所以小弟對 ArchQ的預設目標是 像傻瓜相機一樣,
於是預設值就是加上 nosmt。
Silaslin兄的CPU是不是像小弟的Mac mini 一樣,
只有2核 x 2線程 => cpu = 4 。
2核心的不開多線程,好像用cpu isolation是不行的。
代碼:
[root@ArchQ ~]# lscpu
Model name: Intel(R) Core(TM) i5-3210M CPU @ 2.50GHz
CPU family: 6
Model: 58
Thread(s) per core: 2
Core(s) per socket: 2
Socket(s): 1
kernel-cfg.sh的Bug :奇怪,我沒看到是哪個部份有錯誤訊息?我一直都用得很順手。
趕工完成一堆功能,小bug 有時我就先閉眼不看。
目前應該是功能沒什麼問題吧? 以後慢慢再修。
Silaslin兄,是Linux 高手,若有小問題就自己先解決吧!
小弟先滿足大部份的需要。
Airplay 目前優化還不夠,等一段時間會再發布更新版。
此篇文章於 2022-02-25 05:30 PM 被 sam0402 編輯。
-
The Following 4 Users Say Thank You to sam0402 For This Useful Post:
-
2022-02-26, 11:56 AM
#802
徵尋樂友的意見:
如果只有 2 Cores x 2 Threads = 4 CPUs 的CPU,
如果使用Roon 這類的多行程的軟體,是不是把nosmt 關掉比較好?
如果是,小弟考慮加入判斷功能,roon 這類的軟體安裝時,就不加上nosmt了。
-
-
2022-02-26, 07:27 PM
#803
基本上在CAT重播角度,smt是應該關閉的,
因為核心播放程式應該都不是多執行緒設計,
啟用smt只是增加核心程式被插斷的機率。
所以問題應該是硬體環境是否適合啟用cpu lsolation,
但這部分應該要由使用者判斷,所以我想像中應該
是增加一個選單讓使用者確認使用的CPU是否有
四個以上的實體核心,如果沒有就取消cpu isolation。
PS 1
用smt模擬的4核執行專用核心指定我覺得是很詭異的做法,
除了無法確保核心程式不被插斷外,還可能劣化整體環境執行效率。
PS 2
一直忘了問,用實體8核執行Sam OS,LMS與Player以外的程式會怎麼處理?
我意思是4核以上的實體核心對Sam OS有用處嗎? 我想像中讓這些其他程式
自由取用LMS與Player專用核心以外的運算核心會比較有益。
就是說一方面確保兩個核心程式不被插斷,一方面確保所有其他程式以較佳的
效率被執行,減少核心程式需要相依資料時還要等待的可能。
-
The Following 3 Users Say Thank You to Higuma For This Useful Post:
-
2022-02-27, 12:12 AM
#804
 作者: Higuma
基本上在CAT重播角度,smt是應該關閉的,
因為核心播放程式應該都不是多執行緒設計,
啟用smt只是增加核心程式被插斷的機率。
Roon & Roonbridge 會分成很多程式在不同的CPU上跑,因為工作很多。
是不是多執行緒就不知道了,待查。
所以問題應該是硬體環境是否適合啟用cpu lsolation,
但這部分應該要由使用者判斷,所以我想像中應該
是增加一個選單讓使用者確認使用的CPU是否有
四個以上的實體核心,如果沒有就取消cpu isolation。
這個前兩天就加上自動判別功能了,有4核就自動隔離了。
如果是8核,又同時執行LMS & Squeezelite ,就各隔離一個CPU。
不打算另做選單,傻瓜相機的概念。
PS 1
用smt模擬的4核執行專用核心指定我覺得是很詭異的做法,
除了無法確保核心程式不被插斷外,還可能劣化整體環境執行效率。
PS 2
一直忘了問,用實體8核執行Sam OS,LMS與Player以外的程式會怎麼處理?
以外的程式會自動分配至非隔離的CPU
我意思是4核以上的實體核心對Sam OS有用處嗎? 我想像中讓這些其他程式
自由取用LMS與Player專用核心以外的運算核心會比較有益。
就是說一方面確保兩個核心程式不被插斷,一方面確保所有其他程式以較佳的
效率被執行,減少核心程式需要相依資料時還要等待的可能。
插斷都被排開至非隔離的CPU了,所以LMS or Squeezelite 是獨立的CPU 不被干擾。
此篇文章於 2022-02-27 12:24 AM 被 sam0402 編輯。
-
The Following 2 Users Say Thank You to sam0402 For This Useful Post:
-
2022-02-27, 12:29 AM
#805
之前Compile 的 kernel 5.16 HDMI (Intel i915)沒有出聲。
已經修正更新。
Airplay 也有優化更新,請手動下載更新。
代碼:
su
wget -qP /root https://raw.githubusercontent.com/sam0402/ArchQ/main/pkg/shairport-sync-3.3.9-1-x86_64.pkg.tar.zst
pacman -U --noconfirm /root/shairport-sync-3.3.9-1-x86_64.pkg.tar.zst
Airplay的設定功能修訂:
截圖 2022-02-27 上午9.42.51.png
也修正不少config的功能,config.sh 選單選update 更新就可
---
https://raw.githubusercontent.com/sa...64.pkg.tar.zst
可以關 usb電源的 uhubctl ,Arch 小弟還沒研究出來,麻煩有空的Linux 高手試一下。
這裡有教學! https://github.com/mvp/uhubctl
我要休息幾天再說!
此篇文章於 2022-02-27 11:29 AM 被 sam0402 編輯。
-
The Following 2 Users Say Thank You to sam0402 For This Useful Post:
-
2022-02-27, 12:04 PM
#806
我這邊測試的結果:
關掉整組
> uhubctl -a 0 -l 2-1
Current status for hub 2-1 [8087:0024, USB 2.00, 8 ports, ppps]
Port 1: 0100 power
Port 2: 0100 power
Port 3: 0100 power
Port 4: 0100 power
Port 5: 0100 power
Port 6: 0100 power
Port 7: 0100 power
Port 8: 0100 power
Sent power off request
New status for hub 2-1 [8087:0024, USB 2.00, 8 ports, ppps]
Port 1: 0000 off
Port 2: 0000 off
Port 3: 0000 off
Port 4: 0000 off
Port 5: 0000 off
Port 6: 0000 off
Port 7: 0000 off
Port 8: 0000 off
打開第一個 port
> uhubctl -a 1 -l 2-1 -p 1
Current status for hub 2-1 [8087:0024, USB 2.00, 8 ports, ppps]
Port 1: 0000 off
Sent power on request
New status for hub 2-1 [8087:0024, USB 2.00, 8 ports, ppps]
Port 1: 0100 power
-
-
2022-02-27, 01:45 PM
#807
咦?我手上有一台MiniPC 執行uhubctl 沒結果,Mac mini 就正常。
害我以為很麻煩。
感謝測試,有空來寫config script
-
-
2022-02-27, 05:26 PM
#808
 作者: sam0402
咦?我手上有一台MiniPC 執行uhubctl 沒結果,Mac mini 就正常。
害我以為很麻煩。
感謝測試,有空來寫config script
似乎新一點的電腦就是不能用,卡在這裡。
-
-
2022-02-28, 02:39 AM
#809
我發現新一點的電腦需要先 update pacman,然後安裝 glibc,uhubctl 才能順利執行。
pacman -Syu
pacman -S glibc
uhubctl
結果出現訊息如下:
No compatible devices detected!
Run with -h to get usage info.
pacman -S usbutils
lsusb -tv
抓到訊息如下
/: Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 10000M
ID 1d6b:0003 Linux Foundation 3.0 root hub
/: Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 480M
ID 1d6b:0002 Linux Foundation 2.0 root hub
/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/8p, 5000M
ID 1d6b:0003 Linux Foundation 3.0 root hub
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/16p, 480M
ID 1d6b:0002 Linux Foundation 2.0 root hub
|__ Port 7: Dev 2, If 0, Class=Human Interface Device, Driver=usbhid, 12M
ID 046d:c52b Logitech, Inc. Unifying Receiver
|__ Port 7: Dev 2, If 1, Class=Human Interface Device, Driver=usbhid, 12M
ID 046d:c52b Logitech, Inc. Unifying Receiver
|__ Port 7: Dev 2, If 2, Class=Human Interface Device, Driver=usbhid, 12M
ID 046d:c52b Logitech, Inc. Unifying Receiver
|__ Port 8: Dev 3, If 0, Class=Human Interface Device, Driver=usbhid, 12M
ID 14a5:b0a1
山姆叔,xhci_hcd 這部分可能需要處理
此篇文章於 2022-02-28 03:06 AM 被 silaslin 編輯。
-
-
2022-02-28, 07:34 AM
#810
uhubctl 作者一開始的話:
Note that very few hubs actually support per-port power switching.
Some of them are no longer manufactured and can be hard to find.
樹莓派剛好作者有特別處理過,應用面比較廣。
PC比較不會去玩這個功能。
看來有支援只是剛好!
我把套件留下,有興趣的自己去玩。
https://github.com/sam0402/ArchQ/tree/main/pkg
-
發文規則
- 您不可以發表新主題
- 您不可以發表回覆
- 您不可以上傳附件
- 您不可以編輯自己的文章
-
討論區規則
|