基于節(jié)點控制器的請求響應方法和裝置制造方法
【專利摘要】本發(fā)明實施例公開了一種基于節(jié)點控制器的請求響應方法和裝置,所述方法包括:第一節(jié)點控制器接收第一報文;獲取信息目錄,在信息目錄中查詢第一報文所請求的內(nèi)存地址是否被第二節(jié)點控制器占用;如果第一報文所請求的內(nèi)存地址被第二節(jié)點控制器占用了,則查詢節(jié)點在位信息,用以確定第二節(jié)點控制器是否存在;當確定第二節(jié)點控制器不存在時,生成無效響應報文并發(fā)送;其中,無效響應報文的目的節(jié)點號DNID為第一報文的源節(jié)點號SNID;無效響應報文的SNID為第一報文的DNID。
【專利說明】基于節(jié)點控制器的請求響應方法和裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信【技術(shù)領(lǐng)域】,尤其涉及一種基于節(jié)點控制器的請求響應方法和裝置。
【背景技術(shù)】
[0002]系統(tǒng)體系結(jié)構(gòu)上的現(xiàn)代高級特性使處理器(CPU)具備了錯誤報告與錯誤更正的能力,且支持CPU熱插拔的技術(shù)。一些代工生產(chǎn)商已經(jīng)支持了非一致內(nèi)存訪問(Non-UniformMemory Access, NUMA)硬件的熱插拔,即物理節(jié)點的插入與移除。這種高級特性需要內(nèi)核在必要時能移除正在使用的CPU。比如,為了遠程訪問服務(Remote Access Service,RAS)的需要,必須將一個執(zhí)行惡意代碼的CPU保持在系統(tǒng)執(zhí)行路徑之外。因此,在Linux內(nèi)核中需要支持CPU熱插拔技術(shù)。操作系統(tǒng)(OS)對CPU邏輯下線,操作系統(tǒng)將不再使用被下線的CPU線程,原來綁定在上面的進程和中斷也被遷移到其他線程上。
[0003]在基于多節(jié)點互聯(lián)情況下,可以對某節(jié)點上的節(jié)點控制器(NC)或某個CPU進行熱移除。如果需要對NC進行邏輯上和物理上的移除,除了上面介紹的CPU節(jié)點移除的操作外,OS還會將節(jié)點內(nèi)的內(nèi)存下線,OS將節(jié)點內(nèi)地址空間上正在使用的數(shù)據(jù)遷移到其他節(jié)點的內(nèi)存上,并不再分配新的內(nèi)存空間到這段地址。假設(shè)系統(tǒng)中存在NCO、NCUNC2和NC3,其中,對NC3進行移除,則將NC3節(jié)點上所有CPU的所有服務都被遷移后,不會有任何東西運行在NC3節(jié)點上的CPU內(nèi),且其他節(jié)點不會使用NC3節(jié)點上的內(nèi)存,NC3節(jié)點也不會訪問其他節(jié)點上的內(nèi)存。但是由于NC上有目錄信息,NC3之前占用其他節(jié)點上內(nèi)存數(shù)據(jù)的信息可倉泛I ?呆:?。
[0004]假設(shè)NCO上某個內(nèi)存地址AddrO的數(shù)據(jù)被NC3占用,則對NC3進行邏輯移除時,會有如下幾種情況:
【權(quán)利要求】
1.一種基于節(jié)點控制器的請求響應方法,其特征在于,所述方法包括: 第一節(jié)點控制器接收第一報文;所述第一報文為來自CPU接口的偵聽報文或者來自其他節(jié)點控制器接口的請求報文; 獲取信息目錄,在所述信息目錄中查詢所述第一報文所請求的內(nèi)存地址是否被所述第二節(jié)點控制器占用;所述信息目錄包括當前節(jié)點控制器的內(nèi)存地址被其他節(jié)點控制器所占用的信息; 如果所述第一報文所請求的內(nèi)存地址被所述第二節(jié)點控制器占用了,則查詢節(jié)點在位信息,用以確定所述第二節(jié)點控制器是否存在; 當確定所述第二節(jié)點控制器不存在時,生成無效響應報文并發(fā)送;其中,所述無效響應報文的目的節(jié)點號DNID為所述第一報文的源節(jié)點號SNID;所述無效響應報文的SNID為所述第一報文的DNID。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,當確定所述第二節(jié)點控制器不存在時,生成無效響應報文并發(fā)送之后,所述方法還包括: 在所述信息目錄中更改所述第一節(jié)點控制器的內(nèi)存地址被第二節(jié)點控制器所占用的信息,將所述被第二節(jié)點控制器占用內(nèi)存地址釋放,并更新所述節(jié)點在位信息,將所述第二節(jié)點控制器的信息更新為不存在。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括: 如果所述第二節(jié)點控制器存在,則對所述第一報文進行處理生成第二報文,把所述第二報文發(fā)送到所述第二節(jié)點控制器接口。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,如果所述第一報文所請求的內(nèi)存地址沒有被所述第二節(jié)點控制器占 用,所述方法還包括: 當所述第一報文為所述第一節(jié)點控制器上的第一處理器接口發(fā)送的偵聽報文時,則生成無效響應報文發(fā)送給第一處理器接口。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,如果所述第一報文所請求的內(nèi)存地址沒有被所述第二節(jié)點控制器占用,所述方法還包括: 當所述第一報文為來自第三節(jié)點控制器接口的數(shù)據(jù)或狀態(tài)請求報文時,則向第一節(jié)點控制器的第一處理器接口發(fā)送所述請求報文,用以使所述第一處理器記錄所述請求的信肩、O
6.一種基于節(jié)點控制器的請求響應方法,其特征在于,所述方法包括: 第一節(jié)點控制器接收第二節(jié)點控制器接口發(fā)送的偵聽報文;所述偵聽報文的目的節(jié)點號DNID為第一處理器; 獲取處理器在位信息;所述處理器在位信息包括所在當前節(jié)點上的處理器是否存在的信息; 如果所述第一處理器不存在,則生成無效響應報文發(fā)送給第二節(jié)點控制器接口 ;其中,所述無效響應報文的DNID為所述第一報文的源節(jié)點號SNID;所述無效響應報文的SNID為所述第一報文的DNID。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述方法還包括: 如果所述第一處理器存在,則發(fā)送所述偵聽報文到所述第一處理器接口。
8.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述方法還包括:當所述第一處理器被移除時,在所述處理器在位信息中更新所述第一處理器的記錄信息,將所述第一處理器的記錄信息更新為不存在。
9.一種請求響應裝置,其特征在于,所述裝置包括: 接收單元,用于接收第一報文,所述第一報文為來自CPU接口的偵聽報文或者來自其他節(jié)點控制器接口的數(shù)據(jù)或狀態(tài)請求報文; 獲取單元,用于獲取信息目錄,所述信息目錄包括當前節(jié)點控制器的內(nèi)存地址被其他節(jié)點控制器所占用的信息; 第一識別單元,用于在所述信息目錄中查詢所述第一報文所請求的內(nèi)存地址是否被所述第二節(jié)點控制器占用; 第二識別單元,如果所述第一報文所請求的內(nèi)存地址被所述第二節(jié)點控制器占用了,則所述第二識別單元查詢節(jié)點在位信息,用以確定所述第二節(jié)點控制器是否存在; 處理單元,用于當確定所述第二節(jié)點控制器不存在時,生成無效響應報文并發(fā)送;其中,所述無效響應報文的目的節(jié)點號DNID為所述第一報文的源節(jié)點號SNID;所述無效響應報文的SNID為所述第一報文的DNID。
10.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述裝置還包括:信息目錄管理單元,用于在所述信息目錄中更改所述第一節(jié)點控制器的內(nèi)存地址被第二節(jié)點控制器所占用的信息,將所述被第二節(jié)點控制器占用內(nèi)存地址釋放,并更新所述節(jié)點在位信息,將所述第二節(jié)點控制器的信息更新為不存在。
11.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述處理單元還用于: 如果所述第二節(jié)點控制器存在,則對所述第一報文進行處理生成第二報文,把所述第二報文發(fā)送到所述第二節(jié)點控制器接口。
12.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述處理單元還用于: 如果所述第一報文所請求的內(nèi)存地址沒有被所述第二節(jié)點控制器占用,則當所述第一報文為所述第一節(jié)點控制器上的第一處理器接口發(fā)送的偵聽報文時,則生成無效響應報文發(fā)送給第一處理器接口。
13.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述處理單元還用于: 如果所述第一報文所請求的內(nèi)存地址沒有被所述第二節(jié)點控制器占用,則當所述第一報文為來自第三節(jié)點控制器接口的數(shù)據(jù)或狀態(tài)請求報文時,則向第一處理器接口發(fā)送所述請求報文,用以使所述第一處理器記錄所述請求的信息。
14.一種請求響應裝置,其特征在于,所述裝置包括: 接收單元,接收第二節(jié)點控制器接口發(fā)送的偵聽報文;所述偵聽報文的目的節(jié)點號DNID為第一處理器; 獲取單元,獲取處理器在位信息;所述處理器在位信息包括所在當前節(jié)點上的處理器是否存在的信息; 識別單元,用于根據(jù)所述處理器在位信息識別所述第一處理器是否存在; 處理單元,如果所述第一處理器不存在,則生成無效響應報文發(fā)送給第二節(jié)點控制器接口 ;其中,所述無效響應報文的DNID為所述偵聽報文的源節(jié)點號SNID;所述無效響應報文的SNID為所述偵聽報文的DNIDb 。
15.根據(jù)權(quán)利要求14所述的裝置,其特征在于,所述處理單元還用于:如果所述第一處理器存在,則發(fā)送所述偵聽報文到所述第一處理器接口。
16.根據(jù)權(quán)利要求14所述的裝置,其特征在于,所述裝置還包括處理器在位信息管理單元,用于當所述第一處理器被移除時,在所述處理器在位信息中更新所述第一處理器的記錄信息,將所述第一處理器的記錄信息更新為不存在 。
【文檔編號】G06F17/30GK103488606SQ201310410556
【公開日】2014年1月1日 申請日期:2013年9月10日 優(yōu)先權(quán)日:2013年9月10日
【發(fā)明者】王工藝, 陳奔, 趙亞飛 申請人:華為技術(shù)有限公司