2012-02-10 20 views
5

私はLinuxカーネルコードの実行時間を測定しようとしていますが、タイマーには2つの異なるサブシステムがあることがわかりました。 hrtimersは高解像度タイマーを表し、hpetは高精度イベントタイマーを表します。Linuxカーネルタイマーサブシステム:精度と解像度

分解能はどのように精度とは異なりますか?

http://www.mjmwired.net/kernel/Documentation/timers/

答えて

5

HPETは、(Linuxが用のドライバを持っている)のx86 PCプラットフォームハードウェアの特定の部分を指します。 HPETは、このウィキペディアの例のように記述されています。http://en.wikipedia.org/wiki/High_Precision_Event_Timer

hrtimersは、「高解像度タイマー」のソフトウェア抽象化の一般的なフレームワークを提供するLinuxサブシステムです。 hrtimersは、最も一般的なLinuxカーネルコードで使用するインターフェイスです.HPETは、プラットフォーム固有の低レベルコードで使用されるハードウェア機能です。

+0

ありがとうございました!しかし、タイマーサブシステムのコンテキストで精度と解像度の違いがあるかどうかは分かりますか? []さんの –

+1

@PeterSenna - 私はこれについて単に推測しています。 「高解像度」とは、HZ(jiffies)が提供するものよりも小さなタイムステップを制御できることを意味します。 「精度」は、プロセッサ/ OSが要求された遅延をどれくらいうまく管理しているかということです(たとえ同じ遅延を繰り返し要求しても、分散が得られます)。 http://stackoverflow.com/questions/16920238/reliability-of-linux-kernel-add-timer-at-resolution-of-one-jiffyでは、私は低解像度(タイマーヒットごとのjiffy)が欲しいですが、私はとにかく精度が悪い問題(カーネルはジッピー全体をスキップすることがあります==全期間)。 – sdaau