Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Linux 系統教學 >> Linux 教學

Linux RCU (Read-Copy-Update) 機制精要:讀寫無鎖、寫者複製副本、寬限期回收、適用場景與限制

編輯:Linux 教學

RCU 核心理念:讀者完全無鎖,寫者複製新副本修改,待所有既有讀者退出(進入靜止狀態)後才回收舊副本。

關鍵規則

  • 靜止狀態:行程切換、進入用戶空間、空迴圈。讀者必須在進入上述狀態前呼叫 rcu_read_unlock()。
  • 寬限期:所有 CPU 皆經歷至少一個靜止狀態的時間區間。
  • 回收:call_rcu() 延遲釋放舊副本,確保無讀者持有引用。

適用範圍與限制

  1. 僅保護 動態分配且透過指標引用 的資料結構。
  2. 受保護臨界區內 不可睡眠(不可呼叫會導致排程的函數)。

RCU 讀端極快(幾條指令),寫端較重,適合「讀多寫少」、「讀端效能關鍵」場景(如路由表、歸屬檢查)。

Copyright © Windows教程網 All Rights Reserved