cost 344 ms
由於投機性重新排序/ Linux RCU 設施導致的競爭條件

[英]Race conditions due to speculative reordering / Linux RCU facility

以下摘錄摘自網站https://lwn.net/Articles/262464/ ,它處理共享數據結構的讀取不一致(為此創建了 RCU): 盡管此代碼片段似乎很可能不會出現錯誤排序,但不幸的是,DEC Alpha CPU [PDF] 和值推測編譯器優化可能會導致 p->a、p->b 和 ...

為什么 Linux kernel 從未實現過按數據 object RCU 機制?

[英]Why Linux kernel never implemented a per data object RCU mechanism?

Linux kernel 中的核心 RCU API 適用於 kernel 中的所有客戶端,這意味着任何讀取器(即使他們正在訪問完全不相關的數據結構也將被平等對待)訪問數據結構。 並且像 synchronize_rcu() 這樣的調用需要等待所有的讀者,即使他們在后台訪問完全不相關的數據結構。 為 ...

'c:\\Program' 不是內部或外部命令、可操作的命令或批處理文件

[英]'c:\Program' is not recognized as an internal or external command, operable command or batch file

成功安裝 Oracle SOA Suite 12c 后,我正在嘗試安裝 RCU。 當我嘗試從命令提示符執行 RCU 批處理文件時,出現此錯誤: 批處理文件位於以下路徑: 這是我的 PATH 環境變量值: 這在我的 PATHTEXT 環境變量值中: 我試圖運行的批處理文件: r ...

獲取 Oracle 12c 中所有可用 rcus 的列表?

[英]Get a list of all rcus available in Oracle 12c?

在我們的開發環境中,開發人員為 Weblogic Domain 創建了太多的 RCU 模式。 這些開發人員中的許多現在已經離開了組織,我們需要分發 DBA 將刪除的 RCU 列表,以便人們可以提前通知我們,如果他們正在使用特定的 RCU 模式。 那么有沒有什么簡單的方法可以在 Oracle 12c ...

RCU 如何處理在 synchronized_rcu() 等待時讀者開始讀取臨界區的情況

[英]How RCU handles the condition of a reader started reading critical section while synchronize_rcu() is waiting

根據 RCU 文檔(我相信內核和用戶空間 RCU 框架是相似的), synchronize_rcu()等待所有讀取器(在調用synchronize_rcu之前啟動的)完成。 在synchronize_rcu()在其寬限期內等待之后啟動的讀取器會發生什么? 在synchronize_rcu()返回后啟 ...

嵌套rcu_read_locks

[英]Nesting of rcu_read_locks

我將RCU保護的指針MyStruct *存儲在RCU保護的哈希表MyHash 。 通過哈希表讀取/更新MyStruct ,如下所示。 請注意, MyStruct本身是另一個RCU保護列表的一部分(即它是另一個列表的RCU保護節點),該列表存儲在MyHash以加快查找速度。 據我了 ...

rcu_read_lock() 實際做什么(Linux 內核)

[英]What does rcu_read_lock() actually do (Linux Kernel)

我正在嘗試了解 rcu_read_lock() 同步機制。 據我了解,使用的是rcu_read_lock(),這里有多個讀線程和一個寫線程,讀/寫相同的數據,在rcu_read_lock()下進行讀操作,每個線程復制數據。 我寫了一個簡單的驅動程序來測試這個(read() 和 write() 函數是 ...

rcu_read_lock和x86-64內存順序

[英]rcu_read_lock and x86-64 memory ordering

在可搶占式SMP內核上, rcu_read_lock編譯以下內容: barrier是一個編譯器指令,可編譯為空。 因此,根據英特爾的X86-64內存訂購白皮書: 可能會將舊商店的貨物重新排序到其他位置 為什么實施實際上可以? 請考慮以下情況: 是什么 ...

無鎖堆棧實現想法-目前已中斷

[英]Lock Free stack implementation idea - currently broken

我想出了一個想法,我試圖實現一個無鎖堆棧,該堆棧不依賴引用計數來解決ABA問題,並且還可以正確處理內存回收。 它在概念上與RCU類似,並且依賴於兩個功能:將列表條目標記為已刪除,以及跟蹤遍歷列表的讀者。 前者很簡單,它只使用指針的LSB。 后者是我“聰明”地嘗試實現一種無界無鎖堆棧的方法。 ...

gcc顯示“需要原子大小的存儲/加載以實現原子性”,用於調用`hlist_nulls_add_head_rcu`

[英]gcc show “Need native word sized stores/loads for atomicity” for calling `hlist_nulls_add_head_rcu`

我想致電hlist_nulls_add_head_rcu來管理我的列表,但是gcc給出了許多錯誤消息,如下所示: 我認為最有用的信息是第一個: 然后在我的模塊中調用hlist_nulls_add_head_rcu句子是: 參數類型正確,因此調用方式可能是錯誤的。 有誰知 ...

為什么在找到nf_conn之后內核函數:get_next_corpse增加計數器?

[英]Why does the kernel function:get_next_corpse increase counter after a nf_conn is found?

我正在閱讀內核源代碼,並嘗試了解ip conntrack的機制。 如何理解增加被發現要清除的nf_conn結構的計數器的函數get_next_corpse。 由於發現ct已被清除,為什么需要atomic_inc(&ct-> ct_general.use)? ...

rcu_assign_pointer() 可以在 rcu_read_lock() 和 rcu_read_unlock() 之間使用嗎?

[英]Can rcu_assign_pointer() be used between rcu_read_lock() and rcu_read_unlock()?

開始時,我有一個 CPU 內核作為寫入共享數據的寫入器,一個內核作為讀取器讀取共享數據。 我需要讀者寫回一些數據來共享數據。 我知道rcu_read_lock() / rcu_read_unlock()用於讀取器獲取共享數據。 但我不確定讀者寫回共享數據會導致什么問題? 在讀者中: 這個代碼有 ...

關於使用CMake使用lib-urcu進行編譯的未定義參考

[英]Undefined reference on compiling with lib-urcu with CMake

對於如何解決以下問題,我將不勝感激: 我的CMakeLists.txt: liburcu的部分從https://github.com/markusa/netsniff-ng_filter/tree/master/src/cmake/modules復制。 我已經檢查了LIBU ...

2017-05-23 15:19:17   1   86    c++ / cmake / rcu  
是否可以在RCU鎖中讀取舊版本或新版本?

[英]Is it okay to read either old version or new version in RCU lock?

我對RCU鎖有疑問。 據我所知,RCU允許一些讀者(在寬限期之前開始並在寬限期結束時)擁有舊版本或新版本。 查看附加圖像。 因此,在黃色部分之前開始並在黃色部分內結束的讀者可以讀取更新(已移除)值或舊值。 但是,我的問題是為什么讀者可以擁有不確定的價值? 我認為所 ...

在具有自旋鎖保護的存儲桶的哈希表中是否有Linux標頭?

[英]Is there a linux header for hashtable with spinlock-protected buckets?

我編寫的代碼很少創建/刪除對象(最多數千個),但經常在軟IRQ上下文中對其進行修改。 這些對象也很少從任務上下文(通過procfs:每個對象文件)中讀取(並且可能也很少修改)。 目前,我的代碼包含每個CPU的全局數據塊,每個數據塊都有一個自旋鎖保護。 這樣的塊包含用於對象存儲的固定大小的哈 ...

Linux RCU和雙鏈表

[英]Linux RCU and double linked list

我正在閱讀有關Read-copy-update(RCU)的文章 。 我不確定是否正確理解了SMP。 據我所知,RCU確保Update是原子執行的。 例如,在單個鏈表的情況下,很明顯,可以通過一項操作來完成舊元素與新元素的交換,因為這是通過更改指針來完成的。 但是,如何確保在雙鏈表的情況下 ...

2016-11-01 12:28:16   1   741    c / linux / rcu  

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM