亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区
Chinaunix
標(biāo)題:
SMP下的Linux接收網(wǎng)絡(luò)數(shù)據(jù)包的問(wèn)題
[打印本頁(yè)]
作者:
ustcwizard
時(shí)間:
2013-05-06 11:52
標(biāo)題:
SMP下的Linux接收網(wǎng)絡(luò)數(shù)據(jù)包的問(wèn)題
本帖最后由 ustcwizard 于 2013-05-06 11:53 編輯
假設(shè)計(jì)算機(jī)有兩個(gè)核,core A 和 core B。某個(gè)時(shí)刻,網(wǎng)卡上到來(lái)了兩個(gè)數(shù)據(jù)包 P1 和 P2,
1. 這兩個(gè)數(shù)據(jù)包可能分別交給 core A 和 core B 接收嗎?
2. 如果分別交給 core A 和 core B 接收,在接收數(shù)據(jù)包時(shí),內(nèi)核會(huì)根據(jù) P1 和 P2 的內(nèi)容更新一些公共數(shù)據(jù),
這時(shí)需要做內(nèi)核同步嗎(公共數(shù)據(jù)的更新會(huì)因此出錯(cuò))?
這個(gè)問(wèn)題的背景是寫(xiě)一個(gè)netfilter模塊做過(guò)濾。
作者:
chishanmingshen
時(shí)間:
2013-05-06 12:28
回復(fù)
1#
ustcwizard
不開(kāi)rps的話(huà),應(yīng)該是同一個(gè)。個(gè)人理解,呵呵,
作者:
lenky0401
時(shí)間:
2013-05-06 12:33
1,完全可能。
2,公共數(shù)據(jù)的更新自然需要做加鎖互斥,但一般都會(huì)采用per-cpu機(jī)制吧。
看你的具體情況ne。
作者:
daniel_11
時(shí)間:
2013-05-06 17:35
本帖最后由 daniel_11 于 2013-05-06 17:36 編輯
這東西貌似涉及RPS/RFS, IRQ Affinity,IRQ balance等等,大坑一個(gè)。。。lz保重。
不過(guò),公共數(shù)據(jù)保護(hù)是必須的。
作者:
瀚海書(shū)香
時(shí)間:
2013-05-07 08:45
回復(fù)
1#
ustcwizard
如果存在全局共享的變量改動(dòng),使用鎖來(lái)保證;如果只存在基于流的變量改動(dòng),使用google的RFS patch,將同一個(gè)數(shù)據(jù)量的數(shù)據(jù)包放到同一個(gè)cpu上處理,使用percpu變量。
作者:
bluempire
時(shí)間:
2013-05-07 16:29
好問(wèn)題,頂一下。
作者:
kwest
時(shí)間:
2013-05-08 16:46
網(wǎng)卡的接收中斷可以通過(guò)中斷控制器分發(fā)給不同的CPU,而數(shù)據(jù)包的接收隊(duì)列是放在一個(gè)per-CPU的全局變量上的,core-A和core-B可以同時(shí)處理網(wǎng)卡收上來(lái)的不同的數(shù)據(jù)包。如果公共的數(shù)據(jù)需要同步,比如說(shuō)接收到數(shù)據(jù)報(bào)文統(tǒng)計(jì),很顯然要用spin lock來(lái)保證。
作者:
mordorwww
時(shí)間:
2013-05-09 09:18
硬中斷的負(fù)載均衡沒(méi)有意義,還是看軟中斷的負(fù)載均衡
作者:
anyhit
時(shí)間:
2015-01-05 17:39
回復(fù)
8#
mordorwww
關(guān)鍵問(wèn)題是 軟中斷是per cpu的吧。所以設(shè)計(jì)理念是 誰(shuí)觸發(fā)誰(shuí)執(zhí)行。而觸發(fā)者就是硬中斷
歡迎光臨 Chinaunix (http://72891.cn/)
Powered by Discuz! X3.2