ペン飛び/音飛び対策


サウンドが SL-5000 系に比べ弱いのは、カーネルのバグだ ── というほどのこともない、サウンドデバイス内のトレースデバッグが有効になっていて、 システムの負担が不当に重いせいである。

ペンイベントが飛ぶほうはもうすこしめんどくさい。 Linux のカーネルスケジューラはプロセスに最大 200ms の間 CPU を割り当てない。 SL-A300 はもともと手書き認識や仮名漢字変換などでバックグラウンドの負荷が重いこともあって、 表のプロセスに CPU がまわってこない機会が多い。この沈黙期間を 40ms に縮めた。

プロセスの最悪応答時間を縮めたことと引き換えに、 (スケジューラの裁量の余地が減ったことで) プロセスの平均応答時間は僅かに悪化したはずだが、感知できないと思う。
ONScripter や timidity で midi が演奏可能かどうかに拘ったのは このあたりに絡んで演奏能力が落ちてるのかどうか知りたかったからだ。 どーも同レベルなんで気にせんでよさそうだ。

renice

ところで、手書き認識において 日本語文字列を確定させ、そして例えばメモ帳に文字列が移る間 (0.3 〜 1 秒くらい?) でのペンタッチはまず確実に落ちる。

メモ帳アプリと qpe 本体で qpe が優先されるよう renice すると この間のペンイベントも落ちなくなるんだけど、 いまんとこアプリを立ち上げるたびに renice しないといけない。 全ての qtopia アプリに renice するラッパーかぶせるか、qpe に手ぇ入れなきゃいけないので やってない。

バイナリとパッチ

カーネルバイナリはもちろん本家の標準的な configuration と互換になっている。
つまり、メモリが 62MB になったりはしない。

... ついでに言えば、ノーマルの configuration にしたあとの動作確認してねーってことでもある。すまん。

追記

こんなもんではペン落ちは止まらんらしい (Tnx! > raspy さん)。
... 手持ちのシステムでは 上述したケース以外で落す方法がないので、確実に落ちるケースが分かると嬉し
... かったんだが、 実はイメージノートだと手書き認識より遥かに簡単に落ちやんの。 ぜんぶチャラだな。

問題としては割り込みハンドラ自体は動いている(割り込みは落ちてない)にもかかわらず ペンイベントとして届いてないという形なので、 意識的に割り込みハンドラからは目をそむけてた (ここに手を入れるとさすがに無保証がどーとか笑って open に出来ん)が、 ... 手ぇ入れなきゃだめかね。このネタ、wiki 行きだろな。

追記 その 2 注意!

上記カーネルバイナリにおいて、 コミュケーションアダプタに CFE-01(C@rd H゛ Petit) を挿しても認識しないというレポートが 入って来た。状況的にみてカーネルスケジューラのヘッダファイルをいじったためだと思われる。

200ms → 40ms 化による益が少ない一方、害があるということであればヘッダはもとに戻すべきだろう。 とりあえず、パッチのほうを参考に本家のノーマルカーネルソースから driver/sound/discovery-audio.cTRACE を 0 にしたのみでカーネルをつくりなおされたし。 サウンドのほうはこれだけでも十分に改善されるはずだ。


[日記へ] [目次へ]