Arch-BoticでRT優先度の設定状態を確認するコマンド ps -eo pid,comm,rtprio,pri,priority
を入力してみると以下のようになるはずです。
/etc/rc.localから設定した以外の項目の優先度が反映されているかどうかを確認するのだが、設定していない項目でもirq(割り込み要求)番号のあるものは自動的にFIFO50が与えられている。この値はかなり高い優先度です。
[root@alarm ~]# ps -eo pid,comm,rtprio,pri,priority
1 systemd – 19 20
2 kthreadd – 19 20
3 ksoftirqd/0 – 19 20
省略
16 irq/26-44e07000 50 90 -51
17 irq/59-4804c000 50 90 -51
18 irq/92-481ac000 50 90 -51
19 irq/125-481ae00 50 90 -51
以下省略
cat /proc/interrupts として割り込み回数を見ても全くと言っていいほど割り込みがないので、あまり影響が無いと勝手に思っていました。
でも設定していない項目の値が高いというのもスッキリしないので、まとめて全部の優先度を下げてみました。
chrt -p -o 0 `pgrep irq/26-44e07000`
chrt -p -o 0 `pgrep irq/59-4804c000`
chrt -p -o 0 `pgrep irq/92-481ac000`
chrt -p -o 0 `pgrep irq/125-481ae00`
chrt -p -o 0 `pgrep irq/188-4740000`
chrt -p -o 0 `pgrep irq/170-rtc0`
chrt -p -o 0 `pgrep irq/171-rtc0`
chrt -p -o 0 `pgrep irq/162-mmc1`
chrt -p -o 0 `pgrep irq/33-48060000`
chrt -p -o 0 `pgrep irq/182-4803800`
chrt -p -o 0 `pgrep irq/181-4803800`
chrt -p -o 0 `pgrep irq/184-4803c00`
chrt -p -o 0 `pgrep irq/183-4803c00`
chrt -p -o 0 `pgrep irq/185-4831000`
chrt -p -o 0 `pgrep irq/159-44e0b00`
chrt -p -o 0 `pgrep irq/189-tps6521`
chrt -p -o 0 `pgrep irq/160-4802a00`
chrt -p -o 0 `pgrep irq/19-wkup_m3_`
chrt -p -o 0 `pgrep irq/164-wkup_m3`
おまけ_`
chrt -p -f 53 `mpd`
「音は聴いてみるまで分からない。」 全くその通りです。
kensさん こんばんは
相変わらずdsd環境が無いので分かりませんが、NHKラジオの件は以前から気が付いていました。正式なmpd020以前のgit版の時は短時間なら再生出来ましたが、連続再生出来ませんでした。正式なmpd020になって全くダメになったようです。
優先度設定も試してみました。
下記割り込みは起動メディアにより使用しない方を適宜設定
chrt -p -o 0 `pgrep irq/161-mmc0`
chrt -p -o 0 `pgrep irq/162-mmc1`
すばらしいです。
kickさん こんばんは
最近はaudio_buffer_size、buffer_before_playを弄っています。
DSD256もネイディブ再生ならば下記バッファサイズでも途切れなく再生できますね。
audio_buffer_size “384”
buffer_before_play “20%”
Linn等のネットラジオも再生開始までの時間が短くなっていい感じです。
LINUXCOMさんのブリッジ基板+AK4490でDSD256がネイティブ再生できるのは今のところmpd01921のみです。
mpd020系はdigififanさんがDSD_U32_LE対応を予定しているとのこと。いずれpatchがリリースされるでしょう。
ちなみにmpd020系はNHKラジオが再生できません。(mpd01921は再生できる)
yoさんのBoticized lightMPD用にセルフビルドしたmpd0203rtで動作確認しているときに気付きました。
> mpd020系はdigififanさんがDSD_U32_LE対応を予定しているとのこと。
は語弊がありますね。
正確にはDSD_U32_LEを明示的に指定できるようにする
dsd_native_type “3”
に対応させるとのことです。