Linuxカーネルのjiffieの解像度は何ですか

Linuxカーネルのjiffieの解像度は何ですか

Linuxカーネルのjiffieの解像度は何ですか?

LinuxはTSCを使用し、現在のタイマーソースに応じてナノ秒の解像度を持っています(cat /sys/devices/system/clocksource/clocksource0/current_clocksource)。

~によるとhttp://lxr.free-electrons.com/source/include/linux/jiffies.hjiffieは1us未満ではありませんが、大きくすることもできます。

現在の解像度を確認する方法はありますか?

答え1

マンページを見るとman 7 time

HZ値はカーネルバージョンとハードウェアプラットフォームによって異なります。 i386では、状況は次のとおりです。 2.4.x 以前のカーネルでは、HZ は 100 で、2.6.0 から HZ は 0.001 秒の 1000 に増加します。カーネル2.6.13以降、HZ値は100、250(デフォルト)、または1000のいずれかのカーネル構成パラメータであるため、それぞれ0.01、0.004、または0.001秒のjiffies値が生成されます。カーネル2.6.20以降、より多くの周波数を使用できます。 300は、通常のビデオフレームレート(PAL、25HZ、NTSC、30HZ)を均等に分割する数値です。

times(2) システムコールは特別な場合です。カーネル定数 USER_HZ で定義された単位で時間を報告します。ユーザー空間アプリケーションは、
sysconf(_SC_CLK_TCK)を使用してこの定数の値を決定できます。

CLK_TCK定数を照会できます。

$ getconf CLK_TCK
100

これはHZ値、すなわち100を知らせる。この値は、1 秒間の jiffies の数です。

引用する

答え2

これらの情報源によると、決議案はジフィスはい1/HZHZ発生する値に関係なく):

これはカーネル関連のヘッダファイルの一つに定義されています。たとえば、次のようになります。

/usr/include/asm-generic/param.h

を含む

/usr/include/linux/param.h

<sys/param.h>最終的にはアーキテクチャ固有のディレクトリにある可能性があります。

/usr/include/x86_64-linux-gnu/sys/param.h

ソースは、これがコンパイル時定数であり、特定のシステムによって異なることを示します。

関連情報