2011-10-25 6 views
0

私たちはSLES10(2.6.16.60-0.54.5-smp)とSLES11(2.6.32.12-0.7-デフォルト)の両方を実行しています。nanosleep - 低解像度が必要

2.6.16以降、ナノ秒を変更して高解像度のタイマを使用しました。
コードは、SLES10とSLES11の両方で同様の特性で実行する必要があります。現在のところ、SLES11カーネルは高解像度のタイマー用に設定されているため(変更できない場合もあります)、CPU使用率はSLES10よりもはるかに高いことがわかります。 SLES11ではなく、SLES11では、単純なループのナノ秒スリープが「トップ」に表示されます。

コード内で呼び出しをナノ秒に変更することはできますが、両方のプラットフォームで同じものになるように変更するかどうかはわかりません。

詳細情報:SLES11の 、カーネルタイマーの割り込み頻度は約です。 SLES10上の4016 Hz以上 、カーネルタイマーの割り込み頻度は約です。 250 Hz

SLES11プラットフォームでのCPU使用率を減らすために、timespecのtv_nsecにはどの値を使用する必要がありますか?

答えて

0

以前の動作(250Hz割り込み周波数のナノ秒のスリープ)は平均して1/500秒間スリープします。

これまでとほぼ同じ動作が必要な場合は、1/500秒(2,000,000ナノ秒)だけスリープ状態にすることができます。

関連する問題