亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊(cè) 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫(kù)
最近訪問(wèn)板塊 發(fā)新帖
查看: 2264 | 回復(fù): 4
打印 上一主題 下一主題

RCU lock的兩個(gè)疑問(wèn) [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2011-12-27 10:48 |只看該作者 |倒序?yàn)g覽
最近要使用RCU,看了一下實(shí)現(xiàn)后,有如下幾個(gè)疑惑
1   內(nèi)核文檔說(shuō) 讀者使用rcu_dereference,一定要在RCU read-side critical section, 也就是需要rcu_read_lock()保護(hù)。
  當(dāng)然如果寫(xiě)者有reclaim的動(dòng)作,這個(gè)是必然,但如果寫(xiě)者只有update的動(dòng)作呢,也就是只rcu_assign_pointer(),那讀者還需要保護(hù)嗎?
  我感覺(jué)并不需要了,因?yàn)閞cu_assign_pointer()和rcu_dereference都是原子操作啊。
2  感覺(jué)RCU一般用在讀者會(huì)被寫(xiě)者搶占的時(shí)候,但如果寫(xiě)者也會(huì)搶占讀者,那寫(xiě)者和讀者之間還需要什么同步嗎?

論壇徽章:
0
2 [報(bào)告]
發(fā)表于 2011-12-27 12:41 |只看該作者
rcu 鎖是  單寫(xiě)者和多讀者可以并行。  原因: 寫(xiě)者修改鏈表指針的時(shí)候按照一定的順序來(lái)操作,不會(huì)造成讀者斷鏈之類的。但會(huì)數(shù)據(jù)不一致,如果能容忍的話。

多個(gè)寫(xiě)者并行是不可以的。   

論壇徽章:
0
3 [報(bào)告]
發(fā)表于 2011-12-27 13:30 |只看該作者
沒(méi)錯(cuò),讀者和寫(xiě)者是不需要同步的。讀者僅僅是使用一個(gè)原子操作 對(duì)一個(gè)指針進(jìn)行讀,要么讀到寫(xiě)者更新前的舊值,從而引用到舊的對(duì)象、要么讀到更新后的新值,從而引用到新的對(duì)象,不會(huì)出現(xiàn)中間狀態(tài)。

為什么要使用rcu_XXX那一套接口? 因?yàn)閞cu的核心問(wèn)題是:指向?qū)ο蟮闹羔樞薷闹,舊的對(duì)象何時(shí)釋放?讀者和寫(xiě)者按照rcu_XXX那一套接口的規(guī)范來(lái)操作,可以保證舊對(duì)象在再也沒(méi)人引用到它的時(shí)候被釋放掉。

之前寫(xiě)過(guò)一篇blog,有興趣可以參考一下:http://hi.baidu.com/_kouu/blog/item/c9099983724545ad0df4d225.html

論壇徽章:
0
4 [報(bào)告]
發(fā)表于 2011-12-28 22:55 |只看該作者
rcu_read_lock的時(shí)候,會(huì)關(guān)搶占。寫(xiě)鎖可能刪除節(jié)點(diǎn),節(jié)點(diǎn)釋放是按批次來(lái)的,    等所有的核都上下文切換一次的時(shí)候,釋放一批次, 這個(gè)你知道 rcu_read_lock的時(shí)候關(guān)搶占就理解了。

論壇徽章:
0
5 [報(bào)告]
發(fā)表于 2011-12-28 22:56 |只看該作者
rcu_read_lock的時(shí)候,會(huì)關(guān)搶占。寫(xiě)鎖可能刪除節(jié)點(diǎn),節(jié)點(diǎn)釋放是按批次來(lái)的,    等所有的核都上下文切換一次的時(shí)候,該節(jié)點(diǎn)肯定不會(huì)被讀者使用了,釋放一批次, 這個(gè)你知道 rcu_read_lock的時(shí)候關(guān)搶占就理解了。
您需要登錄后才可以回帖 登錄 | 注冊(cè)

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號(hào)-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號(hào):11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國(guó)互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過(guò)ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請(qǐng)注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP