0

ここから:

HZの値は、カーネルのバージョンやハードウェアプラットフォームによって異なります。i386では、状況は次のようになります。2.4.xまでのカーネルでは、HZは100であり、0.01秒のjiffy値を示します。2.6.0から、HZは1000に引き上げられ、0.001秒の瞬間が得られました。カーネル2.6.13以降、HZ値はカーネル構成パラメーターであり、100、250(デフォルト)、または1000になり、それぞれ0.01、0.004、または0.001秒のjiffies値を生成します。カーネル2.6.20以降、さらに別の周波数が使用可能になります。300は、一般的なビデオフレームレート(PAL、25 HZ、NTSC、30 HZ)で均等に分割される数値です。

5usecでは、どうすればに変換できjiffiesますか?

extern unsigned long usecs_to_jiffies(const unsigned int u);

jiffiesの解像度はu秒を測定するのに十分高くないので、それは役に立たないようです。

4

1 に答える 1

4

疑問がある場合は、コードを読んでください。

ここにあります(そのバージョンはここにあります):

unsigned long usecs_to_jiffies(const unsigned int u)
{
    if (u > jiffies_to_usecs(MAX_JIFFY_OFFSET))
        return MAX_JIFFY_OFFSET;
#if HZ <= USEC_PER_SEC && !(USEC_PER_SEC % HZ)
    return (u + (USEC_PER_SEC / HZ) - 1) / (USEC_PER_SEC / HZ);
#elif HZ > USEC_PER_SEC && !(HZ % USEC_PER_SEC)
    return u * (HZ / USEC_PER_SEC);
#else
    return (USEC_TO_HZ_MUL32 * u + USEC_TO_HZ_ADJ32)
        >> USEC_TO_HZ_SHR32;
#endif
}

したがって、ショートカットがあるかどうかを確認するためにいくつかの処理を行い、他に何も機能しない場合は、64ビットの計算でそれを計算します。

しかし、5usecは、実行するコードのビットに関係なく、1つの瞬間になります。

于 2013-02-04T01:58:17.477 に答える