Linuxのオーディオ / 割込関連プロセスの優先度を上げる
現状core 0にOS関連、core 1にMPD、core 2にPipeWire、core 3にupmpdcliを割り当てているのですが、OS関連プロセスの中からaudio関連のプロセスの優先度を上げる方法がALSAのサイトに載っていました。
/etc/security/limits.conf に下記を追加
@audio - rtprio 95
@audio - memlock 512000
@audio - nice -19
usermodコマンドでユーザー pi を audio グループに追加
$ usermod -aG audio pi
/etc/rc.local で割り込みとtimerの優先度を上げる。
sudo chrt -f -p 95 `pgrep irq_work/0`
sudo chrt -f -p 95 `pgrep irq_work/1`
sudo chrt -f -p 95 `pgrep irq_work/2`
sudo chrt -f -p 95 `pgrep irq_work/3`
sudo chrt -f -p 95 `pgrep irq/17-fe804000.i2c`
sudo chrt -f -p 95 `pgrep irq/20-DMA`
sudo chrt -f -p 95 `pgrep irq/22-DMA`
sudo chrt -f -p 95 `pgrep irq/35-eth0`
sudo chrt -f -p 95 `pgrep irq/36-eth0`
sudo chrt -f -p 95 `pgrep ksoftirqd/0`
sudo chrt -f -p 95 `pgrep ksoftirqd/1`
sudo chrt -f -p 95 `pgrep ksoftirqd/2`
sudo chrt -f -p 95 `pgrep ksoftirqd/3`
sudo chrt -f -p 95 `pgrep ktimers/0`
sudo chrt -f -p 95 `pgrep ktimers/1`
sudo chrt -f -p 95 `pgrep ktimers/2`
sudo chrt -f -p 95 `pgrep ktimers/3`
としました。スケジューリング・ポリシーと優先度の設定はこれから詰めます。