1. prepare_to_wait_exclusive
函數解析
1.1 核心作用
prepare_to_wait_exclusive
是 Linux 內核中用于將進程以獨占方式加入等待隊列的關鍵函數,其主要功能包括:
-
標記獨占等待:通過設置
WQ_FLAG_EXCLUSIVE
標志,表明此等待條目是獨占的。 -
安全入隊:在自旋鎖保護下,將條目添加到等待隊列尾部。
-
設置進程狀態:將當前進程狀態修改為指定狀態(如
TASK_INTERRUPTIBLE
)。
1.2 參數說明
參數 | 類型 | 作用 |
---|---|---|
wq_head | struct wait_queue_head* | 等待隊列的頭部,管理所有等待條目。 |
wq_entry | struct wait_queue_entry* | 當前進程的等待隊 |