基於多處理器的數據處理方法、系統和io適配器的製造方法
2023-09-17 22:25:55 2
基於多處理器的數據處理方法、系統和io適配器的製造方法
【專利摘要】本發明實施例涉及計算機【技術領域】,公開了一種基於多處理器系統的數據處理方法、系統和IO適配器。其中,該方法包括:獲取IO適配器下的IO設備的數量N;初始化N個所述IO設備的設備信息,創建N個IO設備的指針;為每個IO設備初始化一個隊列,並建立每個IO設備的隊列和相應指針的第一對應關係;為每個隊列申請一個中斷向量,並建立每個中斷向量和相應隊列的第二對應關係;處理器接收IO設備發送的中斷向量,根據第一對應關係和第二對應關係查找到與所述IO設備發送的中斷向量對應的IO設備的隊列和/或指針,與對應的IO設備進行數據交換。實施本發明實施例,可以提高多路系統的IO處理性能。
【專利說明】基於多處理器的數據處理方法、系統和IO適配器
【技術領域】
[0001]本發明涉及計算機【技術領域】,具體涉及一種基於多處理器系統的數據處理方法、系統和IO適配器。
【背景技術】
[0002]目前的伺服器系統一般都採用了多核處理器,在當前的多核處理系統下,多個業務雖然運行在不同的處理器上,但是所處理的數據可能來自於同一個10( Input/Output,輸入/輸出)適配器,這樣就有可能造成IO適配器的處理瓶頸。
[0003]作業系統可以使用IO適配器下的IO設備,需要在IO適配器驅動實現。在IO適配器驅動實現的過程中,會實現一個隊列(Queue),所有的IO請求和響應都會從這個隊列中進出。作業系統響應IO請求和響應的方式有兩種:輪詢(polling)和中斷(interrupt)。
[0004]輪詢模式讓內核定期的檢查每個隊列的狀態,判斷是否有IO請求或者響應,並做響應處理;中斷模式則是讓硬體在發生IO請求或響應的時候向內核發出信號。因為輪詢總會周期性的重複執行,大量地耗用CPU時間,因此效率及其低下,多數系統都採用中斷模式,例如現在的Linux系統使用的就是中斷模式。
[0005]在現有技術的方案中,每一個IO適配器在驅動初始化時只生成一個IO隊列(QUEUE),也即只向系統申請了 一個中斷向量,這種情況下,每一時刻只有一個CPU能處理適配器產生的 IO 請求。在 NUMA (Non Uniform Memory Access Achitecture,非統一內存訪問)系統下,由於不同的處理器訪問不同內存的距離不同,開銷也不相同。如果處理中斷的CPU和處理業務進程的CPU不是同一個CPU,可能影響業務性能。隨著scale up (向上擴展)伺服器的持續發展,16路甚至32路的伺服器也即將到來,此時中斷和進程不在同一個CPU上的問題會大大降低系統10性能,這種10的瓶頸也將越來越明顯。
[0006]綜上所述,現有技術中的這種方案的缺點是:當適配器下掛載多個存儲設備,並由不同的業務進程進行處理時,如果中斷處理固定在一個CPU上,根據抽屜原理,總是會出現處理中斷的CPU和處理業務進程的CPU不會是同一個CPU的情況,此時處理業務進程的CPU,不能夠直接從10設備讀取數據,而是通過處理中斷的CPU間接的讀取數據,造成10處理性能低下;而如果中斷向量隨著業務進程的不同而隨時切換,又會造成大量的系統切換開銷,同樣會影響到處理性能。
【發明內容】
[0007]本發明實施例所要解決的技術問題是提供一種基於處理器的數據處理方法、系統和10適配器,用於提升多路系統的10處理性能。
[0008]本發明實施例提供一種基於處理器的數據處理方法,包括:
[0009]獲取輸入/輸出10適配器下的10設備的數量N,N為大於或等於2的自然數;
[0010]初始化N個所述10設備的設備信息,創建N個所述10設備的指針,每個所述10設備的指針與其設備信息相關聯;[0011]為每個所述IO設備初始化一個隊列,並建立每個IO設備的隊列和相應指針的第一對應關係;
[0012]為每個IO設備的隊列申請一個中斷向量,並建立每個中斷向量和相應隊列的第二對應關係;
[0013]處理器接收IO設備發送的中斷向量,根據所述第一對應關係和所述第二對應關係查找到與所述IO設備發送的中斷向量對應的IO設備的隊列和/或指針,與對應的IO設備進行數據交換。
[0014]相應的,本發明實施例還提供一種基於多處理器的數據處理系統,所述系統包括:
[0015]第一獲取單兀,用於獲取輸入/輸出IO適配器下的IO設備的數量N, N為大於或等於2的自然數;
[0016]第一初始化單元,用於初始化N個所述IO設備的設備信息,創建N個所述IO設備的指針,每個所述IO設備的指針與其設備信息相關聯;
[0017]第二初始化單元,為每個所述IO設備初始化一個隊列,並建立每個IO設備的隊列和相應指針的第一對應關係;
[0018]第一申請單元,用於為每個IO設備的隊列申請一個中斷向量,並建立每個中斷向量和相應隊列的第二對應關係;
[0019]數據交換單元,用於使處理器接收IO設備發送的中斷向量,根據所述第一對應關係和所述第二對應關係查找到與所述IO設備發送的中斷向量對應的IO設備的隊列和/或指針,與對應的IO設備進行數據交換。
[0020]相應的,本發明實施例還提供一種IO適配器,所述IO適配器下有多個IO設備,所述IO適配器包括如前所述的基於多處理器系統的數據處理系統。
[0021]從本發明提供的以上方案可以看出,本發明實施例中IO適配器在驅動初始化時,為每個IO設備均生成一個隊列,為每個隊列向系統申請一個中斷向量,並添加IO設備指針、隊列和中斷向量的對應關係,這樣處理器在需要和IO設備交換數據時,可以通過與IO設備對應的中斷向量查找到該IO設備的隊列和/或指針,從而與IO設備進行直接的數據交換,避免中斷向量的調度,相比現有技術的方案,可以避免出現因中斷向量被佔用導致的IO處理性能低下的問題,減小IO適配器掛載多個IO設備情況下IO中斷向量調度的消耗,顯著提升IO處理性能。
【專利附圖】
【附圖說明】
[0022]為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對於本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
[0023]圖1是本發明實施例一提供的基於多處理器系統的數據處理方法的流程第一示意圖;
[0024]圖2是本發明實施例一提供的基於多處理器系統的數據處理方法的流程第二示意圖;[0025]圖3是本發明實施例一提供的基於多處理器系統的數據處理方法的流程第三示意圖;
[0026]圖4是本發明實施例一提供的基於多處理器系統的數據處理方法的流程第四示意圖;
[0027]圖5是本發明實施例一提供的基於多處理器系統的數據處理方法的流程第五示意圖;
[0028]圖6是本發明實施例二提供的基於多處理器系統的數據處理系統的結構第一示意圖;
[0029]圖7是本發明實施例二提供的基於多處理器系統的數據處理系統的結構第二示意圖;
[0030]圖8是本發明實施例二提供的基於多處理器系統的數據處理系統的結構第三示意圖。
【具體實施方式】
[0031]下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基於本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬於本發明保護的範圍。
[0032]本發明實施例中提供了一種基於多處理器系統的數據處理方法、系統和IO適配器,以下分別進行詳細說明。
[0033]本發明的說明書和權利要求書及上述附圖中的術語「第一」、「第二」、「第三」 「第四」等(如果存在)是用於區別類似的對象,而不必用於描述特定的順序或先後次序。應該理解這樣使用的數據在適當情況下可以互換,以便這裡描述的本發明的實施例例如能夠以除了在這裡圖示或描述的那些以外的順序實施。此外,術語「包括」和「具有」以及他們的任何變形,意圖在於覆蓋不排他的包含,例如,包含了一系列步驟或單元的過程、方法、系統、產品或設備不必限於清楚地列出的那些步驟或單元,而是可包括沒有清楚地列出的或對於這些過程、方法、產品或設備固有的其它步驟或單元。
[0034]請參閱圖1,圖1是本發明實施例提供的一種基於多處理器系統的數據處理方法的流程示意圖,該方法可以適用於多處理器系統,需要說明的是,本實施例中多處理器系統可以包括:多核處理器,或者多個單核處理器,或者多個多核處理器,或者若干個單核處理器和若干個多核處理器的組合。如圖1所示,該方法可以包括:
[0035]101、獲取IO適配器下的IO設備的數量N ;N為大於或等於2的自然數;
[0036]102、初始化N個上述IO設備的設備信息,創建N個上述IO設備的指針;其中,每個上述IO設備的指針均與其設備信息相關聯;
[0037]舉例來說,可將N個上述IO設備的指針加入設備池;
[0038]舉例來說,IO設備的設備信息可包括設備描述符、設備類型等信息;
[0039]103、為每個上述IO設備初始化一個隊列,並建立每個IO設備的隊列和相應指針的第一對應關係;
[0040]舉例來說,可以是將N個上述IO設備的隊列加入隊列池,建立上述隊列池中每個IO設備的隊列和上述設備池中相應指針的第一對應關係;
[0041]優選地,IO設備的隊列和指針可以是一一對應的;
[0042]104、為每個IO設備的隊列申請一個中斷向量,並建立每個中斷向量和相應隊列的第二對應關係;
[0043]舉例來說,可以是將所有中斷向量加入中斷向量池中,建立上述中斷向量池中每個中斷向量和上述隊列池中相應隊列的第二對應關係;
[0044]優選地,中斷向量和隊列可以是 對應的;
[0045]105、處理器接收IO設備發送的中斷向量,根據上述第一對應關係和上述第二對應關係查找到與上述IO設備發送的中斷向量對應的IO設備的隊列和/或指針,與對應的IO設備進行數據交換;
[0046]本實施例中,上述105中的處理器可以指一個單核處理器或者多核處理器中的一個處理核心;
[0047]舉例來說,本實施例中當處理器需要讀取某IO設備中的數據時,可以向該IO設備發送IO請求,IO設備可將處理器請求的數據存放在與該IO設備對應的隊列中,並向處理器發送與該隊列對應的中斷向量,處理器接收該中斷向量後可根據中斷向量和隊列的第二對應關係,查找到對應的隊列,並讀取對應的隊列中存放的數據,從而實現與IO設備的數據交換。
[0048]可以看出,在本實施例提供的上述方法中,如果IO適配器下掛載多個IO設備,IO適配器在驅動初始化時,為每個IO設備均生成一個隊列,為每個隊列向系統申請一個中斷向量,並添加IO設備的指針、隊列和中斷向量的對應關係。本實施例中由於存在多個中斷向量,多處理器系統同時對多個中斷向量進行處理:例如處理器I佔用了一個中斷向量,和一個IO設備進行數據交換,如果另外一個處理器2需要和另一個IO設備進行數據交換,在現有技術中處理器2隻能通過處理器I間接的訪問IO設備,或者把中斷向量切換到處理器2以使處理器2訪問IO設備,但在本實施例中,處理器2可以利用與IO設備對應的另一個中斷向量來和IO設備進行直接的數據交換,也不需要進行中斷向量的切換。因此相比現有技術的方案,本實施例提供的上述數據處理方法可以減小IO適配器掛載多個IO設備情況下IO中斷向量調度的消耗,顯著提升IO處理性能,測試結果表明,在4路系統下IO處理性能可提升13%以上,在8路或16路系統中,IO處理性能提升效果更加顯著。
[0049]可選地,本發明實施例提供的方法可支持IO設備的熱添加,具體的熱添加設備的方法可參考圖2。如圖2所示,上述方法還可以包括:
[0050]201、獲取需要添加的第一 IO設備的設備信息;
[0051]需要說明的是,第一 IO設備是一個泛指,可以指代任意一個需要添加的IO設備;
[0052]舉例來說,IO設備的設備信息可包括設備描述符、設備類型等信息;
[0053]202、初始化上述第一 IO設備的設備信息,創建上述第一 IO設備的指針;第一 IO設備的指針可以和其設備信息相關聯;
[0054]舉例來說,可以將上述第一 IO設備的指針加入設備池;
[0055]203、為上述第一 IO設備初始化第一隊列,並建立上述第一隊列和上述第一 IO設備的指針的對應關係;
[0056]舉例來說,可以是將上述第一隊列加入上述隊列池,並建立上述第一隊列和上述設備池中第一 IO設備的指針的對應關係;
[0057]204、為上述第一隊列申請第一中斷向量,並建立上述第一中斷向量和上述第一隊列的對應關係;
[0058]舉例來說,可以是將上述第一中斷向量加入上述中斷向量池,並建立上述第一中斷向量和上述隊列池中第一隊列的對應關係。
[0059]可選地,本發明實施例提供的方法還可支持IO設備的熱移除,具體的熱移除設備的方法可參考圖3。如圖3所示,上述方法還可以包括:
[0060]301、獲取需要移除的第二 IO設備的設備信息;
[0061]需要說明的是,第二 IO設備是一個泛指,可以指代任意一個需要移除的IO設備;
[0062]在301中,獲取到的第二 IO設備的設備信息至少包括設備描述符,當然還可以包括設備類型等信息;
[0063]302、根據上述第二 IO設備的設備信息找到第二 IO設備的指針;
[0064]舉例來說,可以根據第二 IO設備的設備描述符,在設備池中查找到第二 IO設備的指針;
[0065]303、根據上述第一對應關係找到上述第二 IO設備的隊列;
[0066]舉例來說,由於各IO設備的指針和其隊列具有對應關係,可以根據第二 IO設備的指針與對應的隊列ID在隊列池中查找到該IO設備的隊列;
[0067]304、根據第二對應關係找到上述第二 IO設備的中斷向量;
[0068]舉例來說,可以根據第二 IO設備的隊列和其中斷向量的對應關係,在中斷向量池中查找到第二 IO設備的中斷向量;
[0069]305、移除上述第二 IO設備的指針;
[0070]舉例來說,可在上述設備池中移除上述第二 IO設備的指針;
[0071]306、移除上述第二 IO設備的隊列;
[0072]舉例來說,可在上述隊列池中移除上述第二 IO設備的隊列;
[0073]307、移除上述第二 IO設備的中斷向量;
[0074]舉例來說,可在上述中斷向量池中移除上述第二 IO設備的中斷向量。
[0075]需要說明的是,上述步驟可以沒有固定的先後順序,例如305可以在304之前執行或者同時執行,但需要說明的是,應當在移除第二 IO設備的指針之前查找到第二 IO設備的隊列,應當在移除第二 IO設備的隊列之前查找到第二 IO設備的中斷向量。
[0076]優選地,如圖4所示,上述305可以包括:
[0077]305A、判斷上述第二 IO設備的隊列是否正在使用,如果是,執行305B,否則執行305D ;
[0078]305B、凍結上述第二 IO設備的隊列,不再接受新的請求;
[0079]305C、等待上述第二 IO設備的隊列中當前的所有請求執行完畢後,移除上述第二IO設備的指針;執彳丁 306 ;
[0080]305D、移除上述第二 IO設備的指針。
[0081]優選地,如圖5所示,上述306可以包括:
[0082]306A、判斷上述第二 IO設備的隊列是否正在使用,如果是,執行306B,否則執行306D ;[0083]306B、凍結上述第二 IO設備的隊列,不再接受新的請求;
[0084]306C、等待上述第二 IO設備的隊列中當前的所有請求執行完畢後,移除上述第二IO設備的隊列;執行307 ;
[0085]306D、移除上述第二 IO設備的隊列。
[0086]請參閱圖6,圖6是本發明實施例提供的一種基於多處理器系統的數據處理系統的結構示意圖。如圖6所示,該數據處理系統可以包括:
[0087]第一獲取單元601,用於獲取IO適配器下的IO設備的數量N ;N為大於或等於2的自然數;
[0088]第一初始化單元602,用於初始化N個上述IO設備的設備信息,創建N個上述IO設備的指針;其中,每個上述IO設備的指針均與其設備信息相關聯;
[0089]第二初始化單元603,用於為每個上述IO設備初始化一個隊列,並建立每個IO設備的隊列和相應指針的第一對應關係;
[0090]第一申請單元604,用於為每個IO設備的隊列申請一個中斷向量,並建立每個中斷向量和相應隊列的第二對應關係;
[0091]數據交換單元,用於使處理器接收IO設備發送的中斷向量,根據上述第一對應關係和上述第二對應關係查找到與上述IO設備發送的中斷向量對應的IO設備的隊列和/或指針,與對應的IO設備進行數據交換。
[0092]可以看出,在本實施例提供的上述系統中,如果IO適配器下掛載多個IO設備,IO適配器在驅動初始化時,為每個IO設備均生成一個隊列,為每個隊列向系統申請一個中斷向量,並添加IO設備、隊列和中斷向量的一一對應關係。本實施例中由於存在多個中斷向量,多處理器系統同時對多個中斷向量進行處理:例如處理器I佔用了一個中斷向量,和一個IO設備進行數據交換,如果另外一個處理器2需要和另一個IO設備進行數據交換,在現有技術中處理器2隻能通過處理器I間接的訪問IO設備,或者把中斷向量切換到處理器2以使處理器2訪問IO設備,但在本實施例中,處理器2可以利用與IO設備對應的另一個中斷向量來和IO設備進行直接的數據交換,也不需要進行中斷向量的切換。因此相比現有技術的方案,本實施例提供的上述數據處理系統可以減小IO適配器掛載多個IO設備情況下IO中斷向量調度的消耗,顯著提升IO處理性能,測試結果表明,在4路系統下可提升13%以上,在8路或16路系統中,IO處理性能提升效果更加顯著。
[0093]可選地,該數據處理系統還可支持IO設備的熱添加,如圖7所示,該系統還可包括:
[0094]第二獲取單元701,用於獲取需要添加的第一 IO設備的設備信息;
[0095]第三初始化單元702,用於初始化上述第一 IO設備的設備信息,創建上述第一 IO設備的指針;
[0096]第四初始化單元703,用於為上述第一 IO設備初始化第一隊列,並建立上述第一隊列和上述第一 IO設備的指針的對應關係;
[0097]第二申請單元704,用於為上述第一隊列申請第一中斷向量,並建立上述第一中斷向量和上述第一隊列的對應關係。
[0098]可選地,該系統還可支持IO設備的熱移除,如圖8所示,該系統還可包括:
[0099]第三獲取單元801,用於獲取需要移除的第二 IO設備的設備信息;[0100]第一查找單元802,用於根據上述第二 IO設備的IO設備信息找到第二 IO設備的指針;
[0101]第二查找單元803,用於根據上述第一對應關係找到上述第二 IO設備的隊列;
[0102]第三查找單元804,用於根據上述第二對應關係找到上述第二 IO設備的中斷向量;
[0103]第一移除單元805,用於移除上述第二 IO設備的指針;
[0104]第二移除單元806,用於移除上述第二 IO設備的隊列;
[0105]第三移除單元807,用於移除上述第二 IO設備的中斷向量。
[0106]舉例來說,第一移除單元805可包括:
[0107]第一判斷子單元,用於判斷上述第二 IO設備的隊列是否正在使用;
[0108]第一凍結子單元,用於當上述第一判斷子單元的判斷結果為是時,凍結上述第二IO設備的隊列,不再接受新的請求;
[0109]第一移除子單元,用於當上述第一判斷子單元的判斷結果為是時,等待上述第二IO設備的隊列中當前的所有請求執行完畢後,移除上述第二 IO設備的指針;以及用於當上述第一判斷子單元的判斷結果為否時,移除上述第二 IO設備的指針。
[0110]舉例來說,第二移除單元806可包括:
[0111]第二判斷子單元,用於判斷上述第二 IO設備的隊列是否正在使用;
[0112]第二凍結子單元,用於凍結上述第二 IO設備的隊列,不再接受新的請求;
[0113]第二移除子單元,用於當上述第二判斷子單元的判斷結果為是時,等待上述第二IO設備的隊列中當前的所有請求執行完畢後,移除上述第二 IO設備的隊列;以及用於當上述第二判斷子單元的判斷結果為否時,移除上述第二 IO設備的隊列。
[0114]本發明實施例還提供一種IO適配器,該IO適配器下可掛載多個IO設備,並且該IO適配器可包括如前述實施例所描述的基於多處理器系統的數據處理系統,具體內容可參考前述實施例的描述,在此不再贅述。
[0115]需要說明的是,以上各實施例均屬於同一發明構思,各實施例的描述各有側重,在個別實施例中描述未詳盡之處,可參考其他實施例中的描述。
[0116]本領域普通技術人員可以理解上述實施例的各種方法中的全部或部分步驟是可以通過程序來指令相關的硬體來完成,該程序可以存儲於一計算機可讀存儲介質中,存儲介質可以包括:快閃記憶體盤、只讀存儲器(Read-Only Memory,ROM)、隨機存取器(Random AccessMemory, RAM)、磁碟或光碟等。
[0117]以上對本發明實施例所提供的基於多處理器系統的數據處理方法、系統和10適配器進行了詳細介紹,本文中應用了具體個例對本發明的原理及實施方式進行了闡述,以上實施例的說明只是用於幫助理解本發明的方法及其核心思想;同時,對於本領域的一般技術人員,依據本發明的思想,在【具體實施方式】及應用範圍上均會有改變之處,綜上上述,本說明書內容不應理解為對本發明的限制。
【權利要求】
1.一種基於多處理器系統的數據處理方法,其特徵在於,所述方法包括: 獲取輸入/輸出IO適配器下的IO設備的數量N,N為大於或等於2的自然數; 初始化N個所述IO設備的設備信息,創建N個所述IO設備的指針,每個IO設備的指針與其設備信息相關聯; 為每個所述IO設備初始化一個隊列,並建立每個IO設備的隊列和相應指針的第一對應關係; 為每個IO設備的隊列申請一個中斷向量,並建立每個中斷向量和相應隊列的第二對應關係; 處理器接收IO設備發送的中斷向量,根據所述第一對應關係和所述第二對應關係查找到與所述IO設備發送的中斷向量對應的IO設備的隊列和/或指針,與對應的IO設備進行數據交換。
2.根據權利要求1所述的方法,其特徵在於,所述方法還包括: 獲取需要移除的第二 IO設備的設備信息; 根據所述第二 IO設備的設備信息找到第二 IO設備的指針; 根據所述第一對應關係找到所述第二 IO設備的隊列; 根據所述第二對應關係找到所述第二 IO設備的中斷向量; 移除所述第二 IO設備的指針; 移除所述第二 IO設備的隊列; 移除所述第二 IO設備的中斷向量。
3.根據權利要求2所述的方法,其特徵在於,所述移除所述第二IO設備的指針包括: 判斷所述第二 IO設備的隊列是否正在使用,如果是,凍結所述第二 IO設備的隊列,不再接受新的請求,等待所述第二 IO設備的隊列中當前的所有請求執行完畢後,移除所述第二 IO設備的指針。
4.根據權利要求2或3所述的方法,其特徵在於,所述移除所述第二IO設備的隊列包括: 判斷所述第二 IO設備的隊列是否正在使用,如果是,凍結所述第二 IO設備的隊列,不再接受新的請求,等待所述第二 IO設備的隊列中當前的所有請求執行完畢後,移除所述第二IO設備的隊列。
5.一種基於多處理器系統的數據處理系統,其特徵在於,所述數據處理系統包括: 第一獲取單元,用於獲取輸入/輸出IO適配器下的IO設備的數量N,N為大於或等於2的自然數; 第一初始化單元,用於初始化N個所述IO設備的設備信息,創建N個所述IO設備的指針,每個所述IO設備的指針與其設備信息相關聯; 第二初始化單元,為每個所述IO設備初始化一個隊列,並建立每個IO設備的隊列和相應指針的第一對應關係; 第一申請單元,用於為每個IO設備的隊列申請一個中斷向量,並建立每個中斷向量和相應隊列的第二對應關係; 數據交換單元,用於使處理器接收IO設備發送的中斷向量,根據所述第一對應關係和所述第二對應關係查找到與所述IO設備發送的中斷向量對應的IO設備的隊列和/或指針,與對應的IO設備進行數據交換。
6.根據權利要求5所述的系統,其特徵在於,所述系統還包括: 第三獲取單元,用於獲取需要移除的第二 IO設備的設備信息; 第一查找單元,用於根據所述第二 IO設備的設備信息找到第二 IO設備的指針; 第二查找單元,用於根據所述第一對應關係找到所述第二 IO設備的隊列; 第三查找單元,用於根據所述第二對應關係找到所述第二 IO設備的中斷向量; 第一移除單元,用於移除所述第二 IO設備的指針; 第二移除單元,用於移除所述第二 IO設備的隊列; 第三移除單元,用於所述第二 IO設備的中斷向量。
7.根據權利要求6所述的系統,其特徵在於,所述第一移除單元包括: 第一判斷子單元,用於判斷所述第二 IO設備的隊列是否正在使用; 第一凍結子單元,用於當所述第一判斷子單元的判斷結果為是時,凍結所述第二 IO設備的隊列,不再接受新的請求; 第一移除子單元,用於當所述第一判斷子單元的判斷結果為是時,等待所述第二 IO設備的隊列中當前的所有 請求執行完畢後,移除所述第二 IO設備的指針。
8.根據權利要求6或7所述的系統,其特徵在於,所述第二移除單元包括: 第二判斷子單元,用於判斷所述第二 IO設備的隊列是否正在使用; 第二凍結子單元,用於凍結所述第二 IO設備的隊列,不再接受新的請求; 第二移除子單元,用於當所述第二判斷子單元的判斷結果為是時,等待所述第二 IO設備的隊列中當前的所有請求執行完畢後,移除所述第二 IO設備的隊列。
9.一種IO適配器,其特徵在於,所述IO適配器下有多個IO設備,所述IO適配器包括如權利要求5-8任一項所述的基於多處理器系統的數據處理系統。
【文檔編號】G06F9/48GK103942165SQ201410088734
【公開日】2014年7月23日 申請日期:2014年3月11日 優先權日:2014年3月11日
【發明者】王江峰 申請人:華為技術有限公司