2012年7月22日日曜日

PT2(DVB)安定化検討中

温泉行って血行がよくなったせいか、昨日の夜は何か頭痛がひどかった。
久々に早寝早起きだったので、pt2の検討。
 今は/dev/dvb/adapter?/dvr0から、ddで取り込んでいる。
(設定メモ: PT2(DVB), epgrec用do-record.sh)

dd -> b25 -> tssplitter_lite -> dd -> file
とりあえず最初のddにconv=noerrorを入れてあるので、途中で多少データが落ちても止まらない。
ただ、複数チャンネル録画とかすると、ちょくちょくデータを落とす。

dd: reading `/dev/dvb/adapter0/dvr0': Value too large for defined data type

で、負荷が高いときにドライバからのリードが追いつかないような気がしているので、
最初のddの優先度を高くして、後の処理はnice値大きめにしてある。

これでしばらく動かしてみたけど、闇雲に最初のddの優先度を高くしてみてもあまり効果がないようだった。
とくに一番最初にドライバからデータがとれない場合、完全にダメになってしまう。
どうもドライバの方が間に合って無いのかなという気がしてきた。
なのでreniceでカーネルのpt1ドライバのスレッドの優先度を上げてみることにした。

root       556  0.0  0.0      0     0 ?        S    Jul09   0:57  \_ [jbd2/sda1-8]
root       559  0.0  0.0      0     0 ?        S<   Jul09   0:00  \_ [ext4-dio-unwrit]
root       605  0.0  0.0      0     0 ?        S<   Jul09   0:00  \_ [hd-audio0]
root       723  2.1  0.0      0     0 ?        S<   Jul09 420:43  \_ [pt1]
root     29253  0.0  0.0      0     0 ?        S    Jul14   1:01  \_ [flush-8:16]
root     14602  0.0  0.0      0     0 ?        S    04:12   0:04  \_ [kworker/0:3]
root     28225  0.0  0.0      0     0 ?        S    07:34   0:00  \_ [kworker/1:1]

になっているから、

renice -n -20 -p 723
とやってみた。
ちょっとはマシになったような気もするけど。うーん。どうだろう。
あんまり変わらないような気もする。


録画はじめてしばらくすると大丈夫っぽいので、マシンスペックのせいでも無いと思うんだけど。

まだちょっと頭が痛いのでもう休もう。

0 件のコメント:

コメントを投稿