時折発生するCPUカーネルの占有を見つける
2.6.35 PREEMPTカーネルを中速のARMv7プロセッサで実行しています。約100〜125秒ごとに1回、アンダーランを回避するのに十分な速度でカーネルが一部のオーディオ関連ドライバーを処理できなくなります。ホールドアップは通常15〜30ミリ秒の範囲ですが、非常に長くなることがあります。ホールドアップが完全にカーネル内にあるのか、リアルタイムの優先順位(SCHED_RR、2)で実行されているユーザープロセスのスケジューリングに関連しているのかは明らかではありません。 私の推測では、プリエンプトでうまく機能していない(少なくとも1つの)ドライバーが存在します。 ユーザープロセスからの一部のstrace出力は、正常な動作と異常な動作の両方のいくつかの側面を示していますが、さまざまな時間レポートの解釈方法はわかりませんか? 通常の場合: 0.000518 poll([{fd = 10、events = POLLIN | POLLERR | POLLNVAL、revents = POLLIN}]、1、3415)= 1 0.010202 poll([{fd = 10、events = POLLIN | POLLERR | POLLNVAL}、{fd = 6、events = POLLOUT | POLLERR | POLLNVAL、revents = POLLOUT}]、2、3404)= 1 0.000585 poll([{fd = 10、events = POLLIN | POLLERR | POLLNVAL}、{fd = …