linux核心函式fls

2022-05-02 10:06:13 字數 555 閱讀 5181

/*

* * fls - find last (most-significant) bit set

* @x: the word to search

* * this is defined the same way as ffs.

* note fls(0) = 0, fls(1) = 1, fls(0x80000000) = 32. */

static __always_inline int fls(int

x)

if (!(x & 0xff000000u

))

if (!(x & 0xf0000000u

))

if (!(x & 0xc0000000u

))

if (!(x & 0x80000000u

))

return

r;}

作用是:返回輸入引數的最高有效bit位(從低位往左數最後的有效bit位)的序號,該序號與常規0起始序號不同,它是1起始的(當沒有有效位時返回0)。

linux核心函式fls

fls find last most significant bit set x the word to search this is defined the same way as ffs.note fls 0 0,fls 1 1,fls 0x80000000 32.static always i...

Linux 核心延時函式

linux核心提供3個函式分別進行納秒,微妙和毫秒延時 void ndelay unsigned long nsecs void udelay unsigned long usecs void mdelay unsigned long msecs 這3個函式的延時原理是忙等待,也就是說在延時的過程中...

Linux的核心延遲函式

當核心需要等待乙個比較短的時間間隔時,比方說 有時候裝置驅動器會等待預先定義的若干個微妙的時間直到硬體完成某些操作。由於動態定時器通常有很大的設定開銷和乙個相當大的最小等待時間 1ms 所以裝置驅動器使用它會很不方便。在這些情況下,核心使用udelay 和ndelay 函式 前者接收乙個微妙級的時間...