サウンドが SL-5000 系に比べ弱いのは、カーネルのバグだ ── というほどのこともない、サウンドデバイス内のトレースデバッグが有効になっていて、 システムの負担が不当に重いせいである。
ペンイベントが飛ぶほうはもうすこしめんどくさい。 Linux のカーネルスケジューラはプロセスに最大 200ms の間 CPU を割り当てない。 SL-A300 はもともと手書き認識や仮名漢字変換などでバックグラウンドの負荷が重いこともあって、 表のプロセスに CPU がまわってこない機会が多い。この沈黙期間を 40ms に縮めた。
プロセスの最悪応答時間を縮めたことと引き換えに、
(スケジューラの裁量の余地が減ったことで)
プロセスの平均応答時間は僅かに悪化したはずだが、感知できないと思う。
ONScripter や timidity で midi が演奏可能かどうかに拘ったのは
このあたりに絡んで演奏能力が落ちてるのかどうか知りたかったからだ。
どーも同レベルなんで気にせんでよさそうだ。
メモ帳アプリと qpe 本体で qpe が優先されるよう renice すると この間のペンイベントも落ちなくなるんだけど、 いまんとこアプリを立ち上げるたびに renice しないといけない。 全ての qtopia アプリに renice するラッパーかぶせるか、qpe に手ぇ入れなきゃいけないので やってない。
... ついでに言えば、ノーマルの configuration にしたあとの動作確認してねーってことでもある。すまん。
問題としては割り込みハンドラ自体は動いている(割り込みは落ちてない)にもかかわらず ペンイベントとして届いてないという形なので、 意識的に割り込みハンドラからは目をそむけてた (ここに手を入れるとさすがに無保証がどーとか笑って open に出来ん)が、 ... 手ぇ入れなきゃだめかね。このネタ、wiki 行きだろな。
200ms → 40ms 化による益が少ない一方、害があるということであればヘッダはもとに戻すべきだろう。 とりあえず、パッチのほうを参考に本家のノーマルカーネルソースから driver/sound/discovery-audio.c の TRACE を 0 にしたのみでカーネルをつくりなおされたし。 サウンドのほうはこれだけでも十分に改善されるはずだ。