<em id="0a85b"><option id="0a85b"></option></em>

<abbr id="0a85b"></abbr>

      <nobr id="0a85b"></nobr>
        <tr id="0a85b"></tr>
        9久久伊人精品综合,亚洲一区精品视频在线,成 人免费va视频,国产一区二区三区黄网,99国产精品永久免费视频,亚洲毛片多多影院,精品久久久无码人妻中文字幕,无码国产欧美一区二区三区不卡
        學(xué)習(xí)啦 > 學(xué)習(xí)電腦 > 操作系統(tǒng) > Linux教程 > Linux全局變量jiffies的用法

        Linux全局變量jiffies的用法

        時(shí)間: 孫勝652 分享

        Linux全局變量jiffies的用法

          jiffies是Linux系統(tǒng)中的全局變量,與時(shí)間有關(guān),那么jiffies變量具體有哪些作用呢?下面學(xué)習(xí)啦小編就給大家介紹下Linux全局變量jiffies的用法,感興趣的朋友不妨來了解下吧。

          系統(tǒng)運(yùn)行時(shí)間以秒為單位,等于jiffies/Hz。

          注意,jiffies類型為無符號(hào)長整型(unsigned long),其他任何類型存放它都不正確。

          將以秒為單位的時(shí)間轉(zhuǎn)化為jiffies:

          seconds * Hz

          將jiffies轉(zhuǎn)化為以秒為單位的時(shí)間:

          jiffies / Hz

          相比之下,內(nèi)核中將秒轉(zhuǎn)換為jiffies用的多些。

          jiffies的內(nèi)部表示

          jiffies定義于文件中:

          /*

          * The 64-bit value is not atomic - you MUST NOT read it

          * without sampling the sequence number in xtime_lock.

          * get_jiffies_64() will do this for you as appropriate.

          */

          extern u64 __jiffy_data jiffies_64;

          extern unsigned long volatile __jiffy_data jiffies;

          ld(1)腳本用于連接主內(nèi)核映像(在x86上位于arch/i386/kernel/vmlinux.lds.S中),然后用jiffies_64變量的初值覆蓋jiffies變量。因此jiffies取整個(gè)jiffies_64變量的低32位。

          訪問jiffies的代碼只會(huì)讀取jiffies_64的低32位,通過get_jiffies_64()函數(shù)就可以讀取整個(gè)64位的值。在64位體系結(jié)構(gòu)上,jiffies_64和jiffies指的是同一個(gè)變量。

          #if (BITS_PER_LONG 《 64)

          u64 get_jiffies_64(void);

          #else

          static inline u64 get_jiffies_64(void)

          {

          return (u64)jiffies;

          }

          #endif

          在中

          #if (BITS_PER_LONG 《 64)

          u64 get_jiffies_64(void)

          {

          unsigned long seq;

          u64 ret;

          do {

          seq = read_seqbegin(&xtime_lock);

          ret = jiffies_64;

          } while (read_seqretry(&xtime_lock, seq));

          return ret;

          }

          jiffies的回繞wrap around

          當(dāng)jiffies的值超過它的最大存放范圍后就會(huì)發(fā)生溢出。對(duì)于32位無符號(hào)長整型,最大取值為(2^32)-1,即429496795。如果節(jié)拍計(jì)數(shù)達(dá)到了最大值后還要繼續(xù)增加,它的值就會(huì)回繞到0。

          內(nèi)核提供了四個(gè)宏來幫助比較節(jié)拍計(jì)數(shù),它們能正確的處理節(jié)拍計(jì)數(shù)回繞的問題:

          /*

          * These inlines deal with timer wrapping correctly. You are

          * strongly encouraged to use them

          * 1. Because people otherwise forget

          * 2. Because if the timer wrap changes in future you won‘t have to

          * alter your driver code.

          *

          * time_after(a,b) returns true if the time a is after time b.

          *

          * Do this with “《0” and “》=0” to only test the sign of the result. A

          * good compiler would generate better code (and a really good compiler

          * wouldn’t care)。 Gcc is currently neither.

          */

          #define time_after(a,b) /

          (typecheck(unsigned long, a) && /

          typecheck(unsigned long, b) && /

          ((long)(b) - (long)(a) 《 0))

          #define time_before(a,b) time_after(b,a)

          #define time_after_eq(a,b) /

          (typecheck(unsigned long, a) && /

          typecheck(unsigned long, b) && /

          ((long)(a) - (long)(b) 》= 0))

          #define time_before_eq(a,b) time_after_eq(b,a)

          /* Same as above, but does so with platform independent 64bit types.

          * These must be used when utilizing jiffies_64 (i.e. return value of

          * get_jiffies_64() */

          #define time_after64(a,b) /

          (typecheck(__u64, a) && /

          typecheck(__u64, b) && /

          ((__s64)(b) - (__s64)(a) 《 0))

          #define time_before64(a,b) time_after64(b,a)

          #define time_after_eq64(a,b) /

          (typecheck(__u64, a) && /

          typecheck(__u64, b) && /

          ((__s64)(a) - (__s64)(b) 》= 0))

          #define time_before_eq64(a,b) time_after_eq64(b,a)

          用戶空間和HZ

        317779 主站蜘蛛池模板: 亚洲一区二区三区丝袜| 久久亚洲av成人无码国产| 亚洲情A成黄在线观看动漫尤物| 中文字幕国产精品日韩| 少妇粗大进出白浆嘿嘿视频| 91中文字幕一区在线| 亚洲一区二区三区高清在线观看| 国产激情一区二区三区不卡| 欧美日本精品一本二本三区| 超碰成人人人做人人爽| 双腿张开被5个男人调教电影| 免费国产综合色在线精品 | 亚洲精品色婷婷一区二区| 国产精品视频不卡一区二区| 欧美老少配性行为| 欧美视频二区欧美影视| 女人下边被添全过视频的网址| 国产品精品久久久久中文| 亚洲国产成人久久精品软件| 无码国产精品一区二区av| 亚洲二区中文字幕在线| 亚洲精品成人片在线观看| 精品亚洲国产成人痴汉av| 成人精品区| 白嫩人妻精品一二三四区| 人妻聚色窝窝人体WWW一区 | 国产精品亚洲а∨无码播放| 日本乱人伦AⅤ精品| 国产成人综合在线女婷五月99播放 | 亚洲国产日韩在线视频| 91亚洲国产成人久久蜜臀| 无码av永久免费大全| 国产成人久久精品二区三| 99热国产成人最新精品| 黄色免费在线网址| www国产亚洲精品久久网站| 4hu四虎永久免费地址ww416| 亚洲AV午夜成人无码电影| 亚洲日本va午夜中文字幕一区| 日韩有码中文字幕国产| 国产成人免费手机在线观看视频|