背景技術(shù):
1、本發(fā)明涉及中斷處理,并且更具體地,涉及中斷主機操作系統(tǒng)的共享網(wǎng)絡(luò)適配器。
2、共享資源環(huán)境使得在該環(huán)境內(nèi)執(zhí)行的工作負荷,甚至是不同客戶或不同操作系統(tǒng)的工作負荷,能夠被合并在一個機器上,從而允許該機器的資源被共享。
3、共享資源的一個示例是共享網(wǎng)絡(luò)接口(例如,共享適配器),其促進與耦合到共享網(wǎng)絡(luò)接口的一個或多個主機的通信。共享網(wǎng)絡(luò)接口便于將包括大量數(shù)據(jù)的數(shù)據(jù)傳輸?shù)街鳈C和主機的文件系統(tǒng)中或從主機和主機的文件系統(tǒng)中傳輸出來。它還便于其它類型的大數(shù)據(jù)的流式傳輸,諸如視頻或復雜工程或科學圖形。傳輸大量數(shù)據(jù),無論是文件、流還是其他數(shù)據(jù),在中央處理單元(cpu)周期和網(wǎng)絡(luò)輸入/輸出(i/o)的成本方面都是非常昂貴的。
技術(shù)實現(xiàn)思路
1、根據(jù)本發(fā)明的一個實施例,一種方法包括:在共享網(wǎng)絡(luò)適配器處識別應(yīng)當由主機處理的數(shù)據(jù);將所述數(shù)據(jù)存儲在多個接收(rx)數(shù)據(jù)隊列中的一個rx數(shù)據(jù)隊列中,其中所述多個rx數(shù)據(jù)隊列促進所述共享網(wǎng)絡(luò)適配器與所述主機之間的數(shù)據(jù)傳送;設(shè)置位掩碼以指示多個rx數(shù)據(jù)隊列中的哪個rx數(shù)據(jù)隊列存儲所述數(shù)據(jù);檢查與所述主機相對應(yīng)的中斷狀態(tài);以及所述中斷狀態(tài),確定是否將中斷傳輸?shù)剿鲋鳈C以處理所述數(shù)據(jù)。
2、根據(jù)本發(fā)明的一個實施例,一種系統(tǒng)包括:一個或多個處理器,被配置為托管多個邏輯分區(qū)或虛擬機;共享網(wǎng)絡(luò)適配器,被配置為提供所述多個邏輯分區(qū)或虛擬機與網(wǎng)絡(luò)接口卡(nic)之間的接口。該共享網(wǎng)絡(luò)適配器被配置為:識別應(yīng)當由主機處理的數(shù)據(jù),將所述數(shù)據(jù)存儲在多個接收(rx)數(shù)據(jù)隊列中的一個個rx數(shù)據(jù)隊列中,其中多個rx數(shù)據(jù)隊列促進所述共享網(wǎng)絡(luò)適配器與所述主機之間的數(shù)據(jù)傳輸,設(shè)置位掩碼以指示多個rx數(shù)據(jù)隊列中的哪個rx數(shù)據(jù)隊列存儲所述數(shù)據(jù),檢查與所述主機相對應(yīng)的中斷狀態(tài),以及基于所述中斷狀態(tài),確定是否將中斷傳輸?shù)剿鲋鳈C以處理所述數(shù)據(jù)。
3、根據(jù)本發(fā)明的一個實施例,一種計算機程序產(chǎn)品包括:計算機可讀存儲介質(zhì),該計算機可讀存儲介質(zhì)具有隨其體現(xiàn)的計算機可讀程序代碼,該計算機可讀程序代碼可由一個或多個計算機處理器執(zhí)行以執(zhí)行操作。該操作包括:在共享網(wǎng)絡(luò)適配器處識別應(yīng)當由主機處理的數(shù)據(jù);將所述數(shù)據(jù)存儲在多個接收(rx)數(shù)據(jù)隊列中的一個rx數(shù)據(jù)隊列中,其中所述多個rx數(shù)據(jù)隊列促進所述共享網(wǎng)絡(luò)適配器與所述主機之間的數(shù)據(jù)傳送;設(shè)置位掩碼以指示多個rx數(shù)據(jù)隊列中的哪個rx數(shù)據(jù)隊列存儲所述數(shù)據(jù);檢查與所述主機相對應(yīng)的中斷狀態(tài);以及基于所述中斷狀態(tài),確定是否將中斷傳輸?shù)剿鲋鳈C以處理所述數(shù)據(jù)。
1.一種方法,包括:
2.根據(jù)權(quán)利要求1所述的方法,還包括:
3.根據(jù)權(quán)利要求2所述的方法,還包括:在確定所述中斷狀態(tài)指示所述主機當前未在處理被存儲在所述多個rx數(shù)據(jù)隊列中的數(shù)據(jù)之后:
4.根據(jù)權(quán)利要求3所述的方法,還包括:在改變所述中斷狀態(tài)之后:
5.根據(jù)權(quán)利要求4所述的方法,還包括,在確定所述位掩碼中的所述其他位中沒有一個位指示所述共享網(wǎng)絡(luò)適配器已將新數(shù)據(jù)存儲在所述多個rx數(shù)據(jù)隊列中的一個rx數(shù)據(jù)隊列中之后:
6.根據(jù)權(quán)利要求4所述的方法,還包括:在確定所述位掩碼中的所述其他位中的至少一個位指示所述共享網(wǎng)絡(luò)適配器已將新數(shù)據(jù)存儲在所述多個rx數(shù)據(jù)隊列中的一個rx數(shù)據(jù)隊列中之后:
7.根據(jù)權(quán)利要求1所述的方法,其中,當所述中斷狀態(tài)指示所述主機當前正在處理被存儲在所述多個rx數(shù)據(jù)隊列中的數(shù)據(jù)時,沒有中斷從所述共享網(wǎng)絡(luò)適配器被傳輸?shù)剿鲋鳈C。
8.一種系統(tǒng),包括:
9.根據(jù)權(quán)利要求8所述的系統(tǒng),其中,所述共享網(wǎng)絡(luò)適配器被配置為:
10.根據(jù)權(quán)利要求9所述的系統(tǒng),其中,所述共享網(wǎng)絡(luò)適配器被配置為:在確定所述中斷狀態(tài)指示所述主機當前未在處理被存儲在所述多個rx數(shù)據(jù)隊列中的數(shù)據(jù)之后:
11.根據(jù)權(quán)利要求10所述的系統(tǒng),其中,所述中斷狀態(tài)被改變,所述主機被配置為:
12.根據(jù)權(quán)利要求11所述的系統(tǒng),其中,在確定所述位掩碼中的所述其他位中沒有一個位指示所述共享網(wǎng)絡(luò)適配器已將新數(shù)據(jù)存儲在所述多個rx數(shù)據(jù)隊列中的一個rx數(shù)據(jù)隊列中之后,所述主機被配置為:
13.根據(jù)權(quán)利要求11所述的系統(tǒng),其中,在確定所述位掩碼中的所述其他位中的至少一個位指示所述共享網(wǎng)絡(luò)適配器已經(jīng)將新數(shù)據(jù)存儲在所述多個rx數(shù)據(jù)隊列中的一個rx數(shù)據(jù)隊列中之后,所述主機被配置為:
14.根據(jù)權(quán)利要求8所述的系統(tǒng),其中,當所述中斷狀態(tài)指示所述主機當前正在處理被存儲在所述多個rx數(shù)據(jù)隊列中的數(shù)據(jù)時,沒有中斷從所述共享網(wǎng)絡(luò)適配器被傳輸?shù)剿鲋鳈C。
15.一種計算機程序產(chǎn)品,包括:
16.根據(jù)權(quán)利要求15所述的計算機程序產(chǎn)品,其中,所述操作還包括:
17.根據(jù)權(quán)利要求16所述的計算機程序產(chǎn)品,其中,所述操作還包括:在確定所述中斷狀態(tài)指示所述主機當前未在處理被存儲在所述多個rx數(shù)據(jù)隊列中的數(shù)據(jù)之后:
18.根據(jù)權(quán)利要求17所述的計算機程序產(chǎn)品,其中,所述操作還包括:在改變所述中斷狀態(tài)之后:
19.根據(jù)權(quán)利要求16所述的計算機程序產(chǎn)品,其中,所述操作還包括:在確定所述位掩碼中的所述其他位中沒有一個位指示所述共享網(wǎng)絡(luò)適配器已將新數(shù)據(jù)存儲在所述多個rx數(shù)據(jù)隊列中的一個rx數(shù)據(jù)隊列中之后:
20.根據(jù)權(quán)利要求16所述的計算機程序產(chǎn)品,其中,所述操作還包括:在確定所述位掩碼中的所述其他位中的至少一個位指示所述共享網(wǎng)絡(luò)適配器已將新數(shù)據(jù)存儲在所述多個rx數(shù)據(jù)隊列中的一個rx數(shù)據(jù)隊列中之后: