設(shè)備資源控制方法和裝置制造方法
【專利摘要】本申請實施例提供了一種設(shè)備資源控制方法和裝置,應(yīng)用于多處理器系統(tǒng)中,所述多處理器系統(tǒng)包括第一處理器,所述方法包括:所述第一處理器接收到設(shè)備熱插拔第一中斷請求時,響應(yīng)所述設(shè)備熱插拔第一中斷請求;所述第一處理器調(diào)用并執(zhí)行固件程序,生成設(shè)備熱插拔第二中斷請求,并向空閑處理器發(fā)送所述設(shè)備熱插拔第二中斷請求,其中,所述設(shè)備熱插拔第二中斷請求用于觸發(fā)所述空閑處理器調(diào)用并執(zhí)行所述固件程序,執(zhí)行設(shè)備熱插拔的操作,所述空閑處理器為所述多處理器系統(tǒng)中,當(dāng)前無執(zhí)行業(yè)務(wù)的處理器。通過本申請實施例,提高了處理器的運行效率。
【專利說明】設(shè)備資源控制方法和裝置
【技術(shù)領(lǐng)域】
[0001]本申請涉及計算機(jī)處理【技術(shù)領(lǐng)域】,更具體的說是涉及一種控制方法和裝置。
【背景技術(shù)】
[0002]在計算機(jī)系統(tǒng)中,設(shè)備資源包括內(nèi)存、處理器、I/O卡、控制器以及其他節(jié)點等硬件資源,設(shè)備資源配置主要是指設(shè)備的添加、替換或升級等操作,其中,熱插拔即是一種設(shè)備資源配置方式。
[0003]多處理器系統(tǒng)統(tǒng)是指包含多個處理器的計算機(jī)系統(tǒng),由于多處理器系統(tǒng)規(guī)模龐大,對于設(shè)備的熱插拔有更高的要求。
[0004]在進(jìn)行設(shè)備熱插拔時,系統(tǒng)中能夠處理設(shè)備熱插拔的處理器會中斷當(dāng)前執(zhí)行業(yè)務(wù),通過調(diào)用并執(zhí)行固件程序來執(zhí)行設(shè)備熱插拔操作。但是由于多處理器系統(tǒng)中,對于熱插拔要求很高,不能影響當(dāng)前執(zhí)行業(yè)務(wù),因此處理器當(dāng)前執(zhí)行的業(yè)務(wù)不能中斷時間太長?,F(xiàn)有技術(shù)中是將處理器調(diào)用并執(zhí)行固件程序執(zhí)行設(shè)備熱插拔的操作進(jìn)行分片,切換成多個分片執(zhí)行。處理器每接收到一個中斷請求,即執(zhí)行一個分片的操作。執(zhí)行完成一個分片的操作后,保存當(dāng)前執(zhí)行進(jìn)度并退出該中斷,此時處理器可以恢復(fù)當(dāng)前執(zhí)行業(yè)務(wù),同時由定時器控制,當(dāng)?shù)竭_(dá)預(yù)設(shè)時間后再向處理器發(fā)送中斷請求,處理器則再次中斷當(dāng)前執(zhí)行業(yè)務(wù),繼續(xù)調(diào)用固件程序以執(zhí)行下一個分片的操作,如此循環(huán)往復(fù),直至設(shè)備熱插拔的操作執(zhí)行完成。
[0005]但是,在實現(xiàn)本發(fā)明的過程中,發(fā)明人發(fā)現(xiàn),現(xiàn)有技術(shù)的這種控制方式,處理器需要定時接收中斷請求以調(diào)用固件程序執(zhí)行設(shè)備熱插拔的操作,處理器當(dāng)前執(zhí)行業(yè)務(wù)需要被反復(fù)打斷,導(dǎo)致處理器運行效率降低。
【發(fā)明內(nèi)容】
[0006]有鑒于此,本申請?zhí)峁┝艘环N設(shè)備資源控制方法和裝置,用以解決現(xiàn)有技術(shù)中處理器運行效率較低的技術(shù)問題。
[0007]為實現(xiàn)上述目的,本申請?zhí)峁┤缦录夹g(shù)方案:
[0008]第一方面,提供了一種設(shè)備資源控制方法,應(yīng)用于多處理器系統(tǒng)中,其中,所述多處理器系統(tǒng)包括第一處理器,所述方法包括:
[0009]所述第一處理器接收到設(shè)備熱插拔第一中斷請求,響應(yīng)所述設(shè)備熱插拔第一中斷請求時,調(diào)用并執(zhí)行固件程序,生成設(shè)備熱插拔第二中斷請求;
[0010]所述第一處理器向空閑處理器發(fā)送所述設(shè)備熱插拔第二中斷請求,其中,所述設(shè)備熱插拔第二中斷請求用于觸發(fā)所述空閑處理器調(diào)用并執(zhí)行所述固件程序,執(zhí)行設(shè)備熱插拔的操作,所述空閑處理器為所述多處理器系統(tǒng)中,當(dāng)前無執(zhí)行業(yè)務(wù)的處理器。
[0011]在所述第一方面的第一種可能實現(xiàn)方式中,所述設(shè)備熱插拔第一中斷請求具體為基板管理控制器接收到設(shè)備熱插拔請求時發(fā)送的。
[0012]結(jié)合所述第一方面或所述第一方面的第一種可能實現(xiàn)方式,還提供了所述第一方面的第三種可能實現(xiàn)方式,所述調(diào)用并執(zhí)行固件程序,生成設(shè)備熱插拔第二中斷請求,包括:
[0013]調(diào)用并執(zhí)行固件程序,生成處理器下線中斷請求,所述處理器下線中斷請求用于觸發(fā)所述第一處理器或第二處理器將不包括自身的任一處理器下線作為空閑處理器,所述第二處理器為所述多處理器系統(tǒng)中能夠處理所述處理器下線中斷請求的任一處理器;
[0014]當(dāng)檢測到所述空閑處理器下線成功時,生成設(shè)備熱插拔第二中斷請求。
[0015]第二方面,提供了一種設(shè)備資源控制方法,應(yīng)用于多處理器系統(tǒng)中,其中,所述多處理器系統(tǒng)包括第一處理器,所述方法包括:
[0016]基板管理控制器接收設(shè)備熱插拔請求;
[0017]所述基板管理控制器生成設(shè)備熱插拔第一中斷請求,并發(fā)送至所述第一處理器,以便于所述第一處理器響應(yīng)該設(shè)備熱插拔第一中斷請求時,調(diào)用并執(zhí)行固件程序,生成設(shè)備熱插拔第二中斷請求,并向空閑處理器發(fā)送所述設(shè)備熱插拔第二中斷請求,所述設(shè)備熱插拔第二中斷請求用于觸發(fā)所述空閑處理器調(diào)用并執(zhí)行所述固件程序,執(zhí)行設(shè)備熱插拔的操作,所述空閑處理器為所述多處理器系統(tǒng)中,當(dāng)前無執(zhí)行業(yè)務(wù)的處理器。
[0018]在所述第二方面的第一種可能實現(xiàn)方式中,所述生成設(shè)備熱插拔第一中斷請求之前,所述方法還包括:
[0019]所述基板管理控制器生成處理器下線中斷請求,所述處理器下線中斷請求用于觸發(fā)所述第一處理器或第二處理器將不包括自身的任一處理器下線作為空閑處理器,所述第二處理器為所述多處理器系統(tǒng)中能夠處理所述處理器下線中斷請求的任一處理器;
[0020]則所述生成設(shè)備熱插拔第一中斷請求后,所述方法還包括:
[0021]所述基板管理控制器檢測到設(shè)備熱插拔的操作執(zhí)行結(jié)果,或者在預(yù)設(shè)時間內(nèi)未檢測到設(shè)備熱插拔的操作執(zhí)行結(jié)果,生成處理器上線中斷請求,所述處理器上線中斷請求用于觸發(fā)所述第一處理器或第三處理器將所述空閑處理器上線,所述第三處理器為所述多處理器系統(tǒng)中能夠處理所述處理器上線中斷請求的任一處理器。
[0022]第三方面,提供了一種設(shè)備資源控制方法,應(yīng)用于多處理器系統(tǒng)中,其中,所述多處理器系統(tǒng)包括第一處理器,所述方法包括:
[0023]空閑處理器響應(yīng)所述第一處理器發(fā)送的設(shè)備熱插拔第二中斷請求,所述設(shè)備熱插拔第二中斷請求為所述第一處理器接收到設(shè)備熱插拔第一中斷請求,響應(yīng)所述設(shè)備熱插拔第一中斷請求后,調(diào)用并執(zhí)行固件程序生成的;
[0024]所述空閑處理器調(diào)用并執(zhí)行所述固件程序,執(zhí)行設(shè)備熱插拔的操作。
[0025]第四方面,提供了一種設(shè)備資源控制裝置,應(yīng)用于多處理器系統(tǒng)中,其中,所述多處理系統(tǒng)包括第一處理器,所述裝置包括:
[0026]中斷請求生成模塊,用于當(dāng)所述第一處理器接收并響應(yīng)設(shè)備熱插拔第一中斷請求時,生成設(shè)備熱插拔第二中斷請求;
[0027]中斷請求發(fā)送模塊,用于向空閑處理器發(fā)送所述中斷請求生成模塊生成的所述設(shè)備熱插拔第二中斷請求;
[0028]其中,所述設(shè)備熱插拔第二中斷請求用于觸發(fā)所述空閑處理器調(diào)用并執(zhí)行固件程序,執(zhí)行設(shè)備熱插拔的操作,所述空閑處理器為所述多處理器系統(tǒng)中,當(dāng)前無執(zhí)行業(yè)務(wù)的處理器。
[0029]在所述第四方面的第一種可能實現(xiàn)方式中,所述中斷請求生成模塊包括:[0030]處理器下線模塊,用于生成處理器下線中斷請求,所述處理器下線中斷請求用于觸發(fā)所述第一處理器或第二處理器將不包括自身的任一處理器下線作為空閑處理器,所述第二處理器為所述多處理器系統(tǒng)中能夠處理所述處理器下線中斷請求的任一處理器;
[0031]中斷請求生成子模塊,用于當(dāng)檢測到所述空閑處理器下線成功時,生成設(shè)備熱插拔第二中斷請求。
[0032]結(jié)合所述第四方面的第一種可能實現(xiàn)方式,還提供了所述第四方面的第二種可能實現(xiàn)方式,所述裝置還包括:
[0033]處理器上線模塊,用于當(dāng)響應(yīng)所述空閑處理器執(zhí)行設(shè)備熱插拔的操作結(jié)束時發(fā)送的設(shè)備熱插拔第三中斷請求時,生成處理器上線中斷請求,所述處理器上線中斷請求用于觸發(fā)所述第一處理器或第三處理器將所述空閑處理器上線,所述第三處理器為所述多處理器系統(tǒng)中能夠處理所述處理器上線中斷請求的任一處理器。
[0034]結(jié)合所述第四方面的上述任一種可能實現(xiàn)方式,還提供了所述第四方面的第三種可能實現(xiàn)方式,當(dāng)熱插拔類型為熱移除時,所述中斷請求生成模塊包括:
[0035]第一設(shè)備下線模塊:用于生成設(shè)備下線中斷請求,所述設(shè)備下線中斷請求用于觸發(fā)所述第一處理器或第四處理器將所述設(shè)備下線,所述第四處理器為所述多處理器系統(tǒng)中能夠處理所述設(shè)備下線中斷請求的任一處理器;
[0036]中斷請求生成子模塊,用于當(dāng)檢測到所述設(shè)備下線成功時,生成設(shè)備熱插拔第二中斷請求,并向空閑處理器發(fā)送所述設(shè)備熱插拔第二中斷請求。
[0037]結(jié)合所述第四方面的上述任一種可能實現(xiàn)方式,還提供了所述第四方面的第四種可能實現(xiàn)方式,當(dāng)熱插拔類型為熱添加時,所述裝置還包括:
[0038]第一設(shè)備上線模塊,用于當(dāng)確定所述空閑處理器執(zhí)行設(shè)備熱插拔的操作執(zhí)行成功時,生成設(shè)備上線中斷請求,所述設(shè)備上線中斷請求用于觸發(fā)所述第一處理器或第五處理器將所述設(shè)備上線,所述第五處理器為所述多處理器系統(tǒng)中能夠處理所述設(shè)備上線中斷請求的任一處理器。
[0039]第五方面,提供了一種設(shè)備資源控制裝置,應(yīng)用于多處理器系統(tǒng)中,其中,所述多處理器系統(tǒng)包括第一處理器,所述裝置包括:
[0040]請求接收模塊,用于接收設(shè)備熱插拔請求;
[0041]第一中斷生成模塊,用于當(dāng)所述請求接收模塊接收到所述設(shè)備熱插拔請求時,生成設(shè)備熱插拔第一中斷請求,并發(fā)送至第一處理器,以便于所述第一處理器響應(yīng)該設(shè)備熱插拔第一中斷請求,調(diào)用并執(zhí)行固件程序,生成設(shè)備熱插拔第二中斷請求,并向空閑處理器發(fā)送所述設(shè)備熱插拔第二中斷請求,所述設(shè)備熱插拔第二中斷請求用于觸發(fā)所述空閑處理器調(diào)用并執(zhí)行所述固件程序,執(zhí)行設(shè)備熱插拔的操作,所述空閑處理器為所述多處理器系統(tǒng)中,當(dāng)前無執(zhí)行業(yè)務(wù)的處理器。
[0042]在所述第五方面的第一種可能實現(xiàn)方式中,所述裝置還包括:
[0043]處理器下線模塊,用于生成處理器下線中斷請求,所述處理器下線中斷請求用于觸發(fā)所述第一處理器或第二處理器將不包括自身的任一處理器下線作為空閑處理器,所述第二處理器為所述多處理器系統(tǒng)中能夠處理所述處理器下線中斷請求的任一處理器;
[0044]處理器上線模塊,用于檢測到設(shè)備熱插拔的操作執(zhí)行結(jié)果,或者在預(yù)設(shè)時間內(nèi)未檢測到設(shè)備熱插拔的操作執(zhí)行結(jié)果,生成處理器上線中斷請求,所述處理器上線中斷請求用于觸發(fā)所述第一處理器或第三處理器將所述空閑處理器上線,所述第三處理器為所述多處理器系統(tǒng)中能夠處理所述處理器上線中斷請求的任一處理器。
[0045]第六方面,提供一種設(shè)備資源控制裝置,應(yīng)用于多處理器系統(tǒng)中,其中,所述多處理系統(tǒng)包括第一處理器,所述裝置包括:
[0046]熱插拔執(zhí)行模塊,用于當(dāng)空閑處理器響應(yīng)第一處理器發(fā)送的設(shè)備熱插拔第二中斷請求時,執(zhí)行設(shè)備熱插拔的操作;所述設(shè)備熱插拔第二中斷請求為所述第一處理器接收到設(shè)備熱插拔第一中斷請求時,響應(yīng)所述設(shè)備熱插拔第一中斷請求,調(diào)用并執(zhí)行固件程序生成的。
[0047]在所述第六方面的第一種可能實現(xiàn)方式中,當(dāng)熱插拔類型為熱移除時,所述熱插拔執(zhí)行模塊包括:
[0048]第二設(shè)備下線模塊,用于生成設(shè)備下線中斷請求,所述設(shè)備下線中斷請求用于觸發(fā)所述第一處理器或第四處理器將所述設(shè)備下線,所述第四處理器為所述多處理器系統(tǒng)中能夠處理所述述設(shè)備下線中斷請求的任一處理器;
[0049]第一操作執(zhí)行模塊,用于當(dāng)檢測到設(shè)備下線成功時,執(zhí)行設(shè)備熱插拔的操作;或者,
[0050]當(dāng)熱插拔類型為熱添加時,所述第二中斷響應(yīng)模塊包括:
[0051]第二操作執(zhí)行模塊,用于執(zhí)行設(shè)備熱插拔的操作;
[0052]第二設(shè)備上線模塊,用于當(dāng)所述設(shè)備熱插拔的操作執(zhí)行成功時,生成設(shè)備上線中斷請求,所述設(shè)備上線中斷請求用于觸發(fā)所述第一處理器或第五處理器將所述設(shè)備上線,所述第五處理器為所述多處理器系統(tǒng)中能夠處理所述述設(shè)備上線中斷請求的任一處理器。
[0053]經(jīng)由上述的技術(shù)方案可知,與現(xiàn)有技術(shù)相比,本申請?zhí)峁┝艘环N設(shè)備資源控制方法和裝置。第一處理器接收到設(shè)備熱插拔第一中斷請求時,響應(yīng)該設(shè)備熱插拔第一中斷請求,通過調(diào)用并執(zhí)行固件程序,生成設(shè)備熱插拔第二中斷請求發(fā)送至空閑處理器,空閑處理器響應(yīng)該設(shè)備熱插拔第二中斷請求,通過調(diào)用并執(zhí)行固件程序,實現(xiàn)設(shè)備熱插拔的操作。設(shè)備熱插拔操作由空閑處理器執(zhí)行,當(dāng)前執(zhí)行業(yè)務(wù)無需被反復(fù)中斷,從而提高了處理器運行效率。且由于空閑處理器當(dāng)前無業(yè)務(wù)執(zhí)行,因此其執(zhí)行的設(shè)備熱插拔的操作無需被反復(fù)打斷,保證了設(shè)備熱插拔的執(zhí)行效率。
【專利附圖】
【附圖說明】
[0054]為了更清楚地說明本申請實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本申請的實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)提供的附圖獲得其他的附圖。
[0055]圖1為本申請實施例提供的一種設(shè)備資源控制方法一個實施例的流程圖;
[0056]圖2為本申請實施例提供的一種設(shè)備資源控制方法另一個實施例的流程圖;
[0057]圖3為本申請實施例提供的一種設(shè)備資源控制方法又一個實施例的流程圖;
[0058]圖4為本申請實施例提供的一種設(shè)備資源控制方法又一個實施例的流程圖;
[0059]圖5為本申請實施例提供的一種設(shè)備資源控制方法又一個實施例的流程圖;
[0060]圖6為本申請實施例提供的一種設(shè)備資源控制方法又一個實施例的流程圖;[0061]圖7為本申請實施例提供的一種設(shè)備資源控制裝置一個實施例的結(jié)構(gòu)示意圖;
[0062]圖8為本申請實施例提供的一種設(shè)備資源控制裝置另一個實施例的結(jié)構(gòu)示意圖;
[0063]圖9為本申請實施例提供的一種設(shè)備資源控制裝置又一個實施例的結(jié)構(gòu)示意圖;
[0064]圖10為本申請實施例提供的一種設(shè)備資源控制裝置又一個實施例的結(jié)構(gòu)示意圖;
[0065]圖11為本申請實施例提供的一種設(shè)備資源控制裝置又一個實施例的結(jié)構(gòu)示意圖;
[0066]圖12為本申請實施例提供的一種基板管理控制器一個實施例的結(jié)構(gòu)示意圖;
[0067]圖13為本申請實施例提供的一種設(shè)備資源控制裝置又一個實施例的結(jié)構(gòu)示意圖。
【具體實施方式】
[0068]下面將結(jié)合本申請實施例中的附圖,對本申請實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例僅僅是本申請一部分實施例,而不是全部的實施例?;诒旧暾堉械膶嵤├?,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本申請保護(hù)的范圍。
[0069]本申請的主要思想之一可以包括:
[0070]第一處理器接收到設(shè)備熱插拔第一中斷請求時,響應(yīng)該設(shè)備熱插拔第一中斷請求,通過調(diào)用并執(zhí)行固件程序,生成設(shè)備熱插拔第二中斷請求發(fā)送至空閑處理器,空閑處理器響應(yīng)該設(shè)備熱插拔第二中斷請求,通過調(diào)用并執(zhí)行固件程序,實現(xiàn)設(shè)備熱插拔的操作。設(shè)備熱插拔操作由空閑處理器執(zhí)行,因此第一處理器當(dāng)前執(zhí)行業(yè)務(wù)無需被反復(fù)中斷,保證了業(yè)務(wù)執(zhí)行效率,提高了處理器運行效率,且空閑處理器當(dāng)前無業(yè)務(wù)執(zhí)行,因此其執(zhí)行的設(shè)備熱插拔的操作也無需被反復(fù)打斷,因此在保證處理器運行效率的同時,保證了設(shè)備熱插拔的執(zhí)行效率。
[0071]圖1為本申請實施例提供的一種設(shè)備資源控制方法一個實施例的流程圖,本申請實施例技術(shù)方案具體應(yīng)用于多處理器系統(tǒng)中,多處理器系統(tǒng)包含兩臺或多臺功能相近的處理器,處理器之間彼此可以交換數(shù)據(jù),所有處理器共享內(nèi)存,I/o設(shè)備,控制器,及外部設(shè)備等設(shè)備資源,整個多處理器系統(tǒng)由統(tǒng)一的操作系統(tǒng)控制,該多處理器系統(tǒng)中包括第一處理器。
[0072]該方法可以包括以下幾個步驟:
[0073]101:第一處理器接收到設(shè)備熱插拔第一中斷請求時,響應(yīng)所述設(shè)備熱插拔第一中斷請求。
[0074]當(dāng)需要進(jìn)行設(shè)備熱插拔操作時,可以通過例如南橋硬件芯片等硬件結(jié)構(gòu)觸發(fā)中斷產(chǎn)生。
[0075]在多處理器系統(tǒng)中,每一處理器均可以接收到中斷請求,各個處理器可以根據(jù)自身運行情況,選擇是否處理中斷請求。
[0076]因此第一處理器即為多處理系統(tǒng)中可以處理設(shè)備熱插拔第一中斷請求的處理器。
[0077]該第一處理器即是處理設(shè)備熱插拔的主處理器。
[0078]第一處理器接收到設(shè)備熱插拔第一中斷請求時,響應(yīng)該第一中斷請求,即中斷當(dāng)前執(zhí)行業(yè)務(wù),進(jìn)行中斷處理。
[0079]第一處理器進(jìn)行中斷處理,其他處理器也可能進(jìn)入中斷,直至第一處理器退出該中斷處理。
[0080]熱插拔是指允許用戶在不關(guān)閉系統(tǒng),不切斷電源的情況下取出和更換損壞的設(shè)備,從而提高系統(tǒng)對災(zāi)難的及時恢復(fù)能力、擴(kuò)展性和靈活性等。而設(shè)備進(jìn)行熱插拔時,系統(tǒng)需要在設(shè)備資源中添加或移除該設(shè)備,實現(xiàn)對設(shè)備資源的控制。
[0081]本實施例中,熱插拔的類型主要包括熱添加和熱移除。
[0082]102:第一處理器調(diào)用并執(zhí)行固件程序,生成設(shè)備熱插拔第二中斷請求,并向空閑處理器發(fā)送該設(shè)備熱插拔第二中斷請求。
[0083]所述第二中斷請求用于觸發(fā)所述空閑處理器調(diào)用并執(zhí)行所述固件程序,執(zhí)行設(shè)備熱插拔的操作,所述空閑處理器為所述多處理器系統(tǒng)中,當(dāng)前無執(zhí)行業(yè)務(wù)的處理器。
[0084]本實施例中,第一處理器進(jìn)行中斷處理時,是調(diào)用固件程序進(jìn)行。第一處理器通過執(zhí)行該固件程序,觸發(fā)第一處理器生成第二設(shè)備熱插拔第二中斷請求,并向空閑處理器發(fā)送設(shè)備熱插拔第二中斷請求。第一處理器向空閑處理器發(fā)送設(shè)備熱插拔第二中斷請求后,即會退出當(dāng)前中斷處理,恢復(fù)當(dāng)前執(zhí)行業(yè)務(wù)。
[0085]空閑處理器接收到該設(shè)備熱插拔第二中斷請求后,響應(yīng)該設(shè)備熱插拔第二中斷請求,通過調(diào)用并執(zhí)行固件程序,執(zhí)行設(shè)備熱插拔的操作。
[0086]空閑處理器執(zhí)行的設(shè)備熱插拔的操作包括設(shè)備上電初始化或設(shè)備下電等操作。
[0087]固件程序是指固化在集成電路內(nèi)部的程序代碼,負(fù)責(zé)控制和協(xié)調(diào)集成電路的功能,例如BIOS (Basic Input Output System,基本輸入輸出系統(tǒng))程序,是固化到計算機(jī)內(nèi)主板上一個芯片上的程序,其包括用于處理設(shè)備熱插拔中斷請求的中斷處理程序。
[0088]其中,本申請實施例中,該設(shè)備熱插拔第一中斷請求觸發(fā)的中斷的類型可以是PMI (Platform Management Interrupt,平臺管理中斷)或 SMI (System ManagementInterrupt,系統(tǒng)管理中斷),該設(shè)備熱插拔第二中斷請求觸發(fā)的中斷的類型可以為IPI(Inter-Processor Interrupt,處理器間中斷)。
[0089]在本實施例中,第一處理器響應(yīng)設(shè)備熱插拔第一中斷請求時,調(diào)用并執(zhí)行固件程序,此時并不是由第一處理器執(zhí)行設(shè)備熱插拔操作,而是生成設(shè)備熱插拔第二中斷請求,發(fā)送至空閑處理器。由空閑處理器響應(yīng)該設(shè)備熱插拔第二中斷請求,執(zhí)行設(shè)備熱插拔操作,第一處理器即退出中斷處理,可以恢復(fù)其中斷的執(zhí)行業(yè)務(wù)。由于設(shè)備熱插拔操作由空閑處理器執(zhí)行,第一處理器當(dāng)前執(zhí)行業(yè)務(wù)無需被反復(fù)中斷,從而提高了處理器運行效率。
[0090]空閑處理器沒有業(yè)務(wù)執(zhí)行,不會影響整個系統(tǒng)的運行效率,因此還可以提高整個系統(tǒng)運行效率。
[0091]且由于空閑處理器沒有業(yè)務(wù)執(zhí)行,因此可以一次執(zhí)行完成對設(shè)備熱插拔的操作,也無需被反復(fù)打斷,保證了設(shè)備熱插拔的執(zhí)行效率。
[0092]圖2為本申請實施例中一種設(shè)備資源控制方法另一個實施例的流程圖,本申請實施例技術(shù)方案具體應(yīng)用于多處理器系統(tǒng)中,該多處理器系統(tǒng)包括第一處理器,該方法可以包括以下幾個步驟:
[0093]201:第一處理器接收到設(shè)備熱插拔第一中斷請求時,響應(yīng)所述設(shè)備熱插拔第一中斷請求。[0094]其中,為了方便對設(shè)備熱插拔的觸發(fā)和監(jiān)控,本實施例中可以通過基板管理控制器向第一處理器發(fā)送設(shè)備熱插拔第一中斷請求。該設(shè)備熱插拔第一中斷請求可以是基板管理器或服務(wù)管理器接收到設(shè)備熱插拔請求后生成的。
[0095]基板管理控制器(BMC,Baseboard management controller)是計算機(jī)主板上的微控制器,也可以稱為管理處理器(SP,Service Processor)?;骞芾砥鳘毩⒂诓僮飨到y(tǒng),可以監(jiān)控多處理器系統(tǒng)在任何時刻的硬件狀態(tài)。
[0096]基板管理控制器一般都包括操作界面,用戶可以通過操作界面觸發(fā)設(shè)備熱插拔的操作,并對其進(jìn)行控制,操作性強(qiáng),從而實現(xiàn)可視化監(jiān)控。
[0097]當(dāng)然該設(shè)備熱插拔第一中斷請求也可以是通過用戶操作主板上的按鍵或機(jī)框上的按鈕,通過南橋硬件芯片等硬件結(jié)構(gòu)來觸發(fā)。
[0098]202:第一處理器調(diào)用并執(zhí)行固件程序,生成處理器下線中斷請求。
[0099]所述處理器下線中斷請求用于觸發(fā)所述第一處理器或第二處理器將不包括自身的任一處理器下線作為空閑處理器。
[0100]第一處理器或第二處理器為多處理器系統(tǒng)中能夠處理處理器下線中斷請求的處理器。其中將不包括自身的任一處理器下線作為空閑處理器具體可以將不包括自身的,且業(yè)務(wù)處理壓力相對較小的處理器下線作為空閑處理器。
[0101 ] 處理器下線中斷請求由多處理器系統(tǒng)任意一個能夠處理處理器下線中斷請求的處理器處理,該能夠處理處理器器下線中斷請求的處理器可能是第一處理器,或者多處理器系統(tǒng)中不包括第一處理器的任意一個處理器,為了描述方便,本申請實施例中定義為第
二處理器。
[0102]其中,下線是指業(yè)務(wù)遷移,將任一處理器下線即是將任一處理器的業(yè)務(wù)進(jìn)行遷移,可以遷移到其他處理器或設(shè)備執(zhí)行,使得該處理器處于不執(zhí)行業(yè)務(wù)的空閑狀態(tài),即作為空閑處理器。
[0103]其中,該處理器下線中斷請求觸發(fā)的中斷的類型可以為SCI (SystemConfiguration Interrupt,系統(tǒng)配置中斷)。
[0104]203:第一處理器當(dāng)檢測到所述空閑處理器下線成功時,生成設(shè)備熱插拔第二中斷請求,并向所述空閑處理器發(fā)送該設(shè)備熱插拔第二中斷請求。
[0105]當(dāng)空閑處理器下線成功時,即生成設(shè)備熱插拔第二中斷請求,發(fā)送至空閑處理器。此時第一處理器即退出當(dāng)前中斷處理,返回接收到設(shè)備熱插拔第一中斷請求時,當(dāng)前執(zhí)行業(yè)務(wù)的斷點繼續(xù)執(zhí)行。
[0106]第一處理器生成處理器下線中斷請求,以及生成設(shè)備熱插拔第二中斷請求,可以理解成第一處理器執(zhí)行嵌套中斷的過程。即第一處理器響應(yīng)設(shè)備熱插拔第一中斷請求,即調(diào)用固件程序,通過執(zhí)行固件程序生成處理器下線中斷請求,此時由于有中斷產(chǎn)生,若第一處理器可以處理該處理器下線中斷請求,則暫停處理設(shè)備熱插拔中斷請求,而處理處理器下線中斷請求,將不包括自身的任一處理器下線,之后第一處理器即退出該處理器下線中斷請求的中斷處理,繼續(xù)設(shè)備熱插拔中斷請求的中斷處理,從而生成設(shè)備熱插拔第二中斷請求。
[0107]當(dāng)然第一處理器還可以將該處理器下線中斷請求發(fā)送至可以處理處理器下線中斷請求的第二處理器進(jìn)行處理。[0108]處理器下線中斷請求的處理由多處理器系統(tǒng)的操作系統(tǒng)控制處理器執(zhí)行。
[0109]第一處理器或第二處理器將不包括自身的任一處理器下線作為空閑處理器時,可以先判斷當(dāng)前執(zhí)行業(yè)務(wù)是否滿足預(yù)設(shè)條件,以確定當(dāng)前執(zhí)行業(yè)務(wù)是否不繁忙,當(dāng)當(dāng)前執(zhí)行業(yè)務(wù)不繁忙時,再選擇任一處理器下線。
[0110]空閑處理器接收到設(shè)備熱插拔第二中斷請求,響應(yīng)該設(shè)備熱插拔第二中斷請求,調(diào)用并執(zhí)行該固件程序,實現(xiàn)設(shè)備熱插拔的操作??臻e處理器無其他業(yè)務(wù)執(zhí)行,因此設(shè)備熱插拔的操作無需被反復(fù)打斷。
[0111]空閑處理器執(zhí)行的設(shè)備熱插拔的操作包括設(shè)備上電初始化或設(shè)備下電操作,根據(jù)熱插拔類型不同而確定。
[0112]熱插拔類型為熱移除時,空閑處理器執(zhí)行設(shè)備熱插拔的操作時,需要保證設(shè)備已經(jīng)下線,即將該設(shè)備中的業(yè)務(wù)進(jìn)行遷移。設(shè)備下線可以由第一處理器或任一處理器執(zhí)行,與現(xiàn)有技術(shù)相同不再贅述。
[0113]熱插拔類型為熱添加時,設(shè)備熱插拔的操作執(zhí)行成功時,需要將設(shè)備上線,即將設(shè)備添加至設(shè)備資源中,設(shè)備上線可以由第一處理器或任一處理器執(zhí)行,與現(xiàn)有技術(shù)相同不再贅述。
[0114]其中,空閑處理器執(zhí)行設(shè)備熱插拔的操作完成時,還可以向第一處理器發(fā)送設(shè)備熱插拔第三中斷請求。
[0115]第一處理器響應(yīng)該設(shè)備熱插拔第三中斷請求,調(diào)用并執(zhí)行固件程序,可以生成處理器上線中斷請求。該處理器上線中斷請求用于觸發(fā)所述第一處理器或第三處理器將所述空閑處理器上線。
[0116]第一處理器或第三處理器為多處理器系統(tǒng)中能夠處理該處理器上線中斷請求的處理器。
[0117]處理器上線中斷請求由多處理器系統(tǒng)任意一個能夠處理處理器下線中斷請求的處理器處理,該能夠處理處理器器上線中斷請求的處理器可能是第一處理器,或者多處理器系統(tǒng)中不包括第一處理器的任意一個處理器,為了描述方便,本申請實施例中定義為第
三處理器。
[0118]該第三處理器與該第二處理器可能為同一處理器或者不同的處理器。
[0119]其中,該設(shè)備熱插拔第一中斷請求觸發(fā)的中斷的類型可以是PMI或SMI。
[0120]該處理器下線中斷請求觸發(fā)的中斷的類型可以為SCI。
[0121]當(dāng)然,第一處理器調(diào)用并執(zhí)行固件程序的操作,還可以包括判斷設(shè)備熱插拔的操作是否執(zhí)行成功等,并進(jìn)行標(biāo)識以通知用戶。例如通過主板或機(jī)框上的二極管的亮滅進(jìn)行標(biāo)識。
[0122]在本實施例中,第一處理器響應(yīng)設(shè)備熱插拔第一中斷請求時,可以生成處理器下線中斷請求,觸發(fā)將不包括第一處理器的任一處理器下線作為空閑處理器。因此第一處理器通過執(zhí)行固件程序,生成設(shè)備熱插拔第二請求時,可以將該設(shè)備熱插拔第二請求發(fā)送至該空閑處理器,由于設(shè)備熱插拔操作由空閑處理器執(zhí)行,第一處理器當(dāng)前執(zhí)行業(yè)務(wù)無需被反復(fù)中斷,從而提高了處理器運行效率。
[0123]空閑處理器沒有業(yè)務(wù)執(zhí)行,不會影響整個系統(tǒng)的運行效率,因此還可以提高整個系統(tǒng)運行效率。[0124]且由于空閑處理器沒有業(yè)務(wù)執(zhí)行,因此可以一次執(zhí)行完成對設(shè)備熱插拔的操作,也無需被反復(fù)打斷,保證了設(shè)備熱插拔的執(zhí)行效率。
[0125]由于空閑處理器沒有業(yè)務(wù)執(zhí)行,同時避免了中斷處理出錯時,處理器陷入中斷無法退出,而導(dǎo)致中斷業(yè)務(wù)被無限期中止的問題。
[0126]圖3為本申請實施例中一種設(shè)備資源控制方法又一個實施例的流程圖,本申請實施例技術(shù)方案具體應(yīng)用于多處理器系統(tǒng)中,該多處理器系統(tǒng)包括第一處理器,該方法可以包括以下幾個步驟:
[0127]301:第一處理器接收基板管理控制器發(fā)送的處理器下線中斷請求。
[0128]通過基板管理控制器,可以方便對設(shè)備資源配置過程進(jìn)行可視化監(jiān)控。
[0129]302:第一處理器響應(yīng)該處理器下線中斷請求,將不包括自身的任一處理器下線作為空閑處理器。
[0130]第一處理器響應(yīng)該處理器下線中斷請求,進(jìn)行中斷處理器,使得將不包括自身的任一處理器下線作為空閑處理器。
[0131]本實施例中以第一處理器可以處理處理器下線中斷請求為例進(jìn)行介紹,在實際應(yīng)用中,該第一處理器可能由于當(dāng)前自身運行情況不能處理該處理器下線中斷請求,則可以由任一可以處理該處理器下線中斷請求的處理器進(jìn)行中斷處理。
[0132]302:第一處理器接收所述基板管理控制器發(fā)送的設(shè)備熱插拔第一中斷請求,并響應(yīng)所述設(shè)備熱插拔第一中斷請求。
[0133]作為一種可能實現(xiàn)方式,第一處理器在響應(yīng)該處理器下線中斷請求時,可以判斷當(dāng)前執(zhí)行業(yè)務(wù)是否滿足預(yù)設(shè)條件,以確定當(dāng)前執(zhí)行業(yè)務(wù)是否不繁忙,當(dāng)當(dāng)前執(zhí)行業(yè)務(wù)不繁忙時,在將不包括自身的任一處理器下線作為空閑處理器。
[0134]基板管理控制器可以監(jiān)控處理器下線中斷請求的處理結(jié)果,當(dāng)空閑處理器下線成功時,再向第一處理器發(fā)送設(shè)備熱插拔第一中斷請求。
[0135]304:第一處理器調(diào)用并執(zhí)行固件程序,生成設(shè)備熱插拔第二中斷請求,并向所述空閑處理器發(fā)送該設(shè)備熱插拔第二中斷請求。
[0136]其中,所述設(shè)備熱插拔第二中斷請求用于觸發(fā)所述空閑處理器執(zhí)行設(shè)備熱插拔的操作。
[0137]空閑處理器執(zhí)行設(shè)備熱插拔的操作完成時,可以向第一處理器發(fā)送設(shè)備熱插拔第三中斷請求。
[0138]第一處理器響應(yīng)該設(shè)備熱插拔第三中斷請求,調(diào)用并執(zhí)行固件程序,可以對設(shè)備熱插拔執(zhí)行結(jié)果進(jìn)行檢測,確定熱插拔的操作是否成功,并進(jìn)行標(biāo)識。
[0139]基板管理控制器可以獲取該第一處理器標(biāo)識的設(shè)備熱插拔執(zhí)行結(jié)果,并通過可視化界面輸出提示信息,以通知用戶。
[0140]同時,基板管理控制器檢測到設(shè)備熱插拔執(zhí)行結(jié)果,或者在預(yù)設(shè)時間內(nèi)未檢測到設(shè)備熱插拔執(zhí)行結(jié)果時,則可以生成處理器上線中斷請求。由第一處理器或第三處理器將空閑處理器上線。
[0141]第一處理器或第三處理器為多處理器系統(tǒng)中能夠處理該處理器上線中斷請求的處理器。
[0142]在本實施例中,基板管理控制器可以首先生成處理器下線中斷請求,觸發(fā)第一處理器將任一處理器下線作為空閑處理器,然后生成設(shè)備熱插拔第一中斷請求。第一處理器響應(yīng)該設(shè)備熱插拔第一中斷請求,固件程序作為該設(shè)備熱插拔第一中斷請求的中斷處理程序被調(diào)用和執(zhí)行,從而使得第一處理器生成設(shè)備熱插拔第二中斷請求,發(fā)送至空閑處理器,由空閑處理器對該固件程序調(diào)用和執(zhí)行,實現(xiàn)設(shè)備熱插拔的操作。由于設(shè)備熱插拔操作由空閑處理器執(zhí)行,處理器當(dāng)前執(zhí)行業(yè)務(wù)無需被反復(fù)中斷,從而提高了處理器運行效率。且設(shè)備熱插拔操作可由基板管理控制器控制,方便了對處理流程的監(jiān)控,還能夠?qū)崿F(xiàn)可視化監(jiān)控。
[0143]空閑處理器沒有業(yè)務(wù)執(zhí)行,不會影響整個系統(tǒng)的運行效率,因此還可以提高整個系統(tǒng)運行效率。
[0144]且由于空閑處理器沒有業(yè)務(wù)執(zhí)行,因此可以一次執(zhí)行完成對設(shè)備熱插拔的操作,也無需被反復(fù)打斷,保證了設(shè)備熱插拔的執(zhí)行效率。
[0145]圖4為本申請實施例中一種設(shè)備資源控制方法又一個實施例的流程圖,本申請實施例技術(shù)方案具體應(yīng)用于多處理器系統(tǒng)中,該多處理器系統(tǒng)包括第一處理器,該方法可以包括以下幾個步驟:
[0146]401:第一處理器接收到設(shè)備熱插拔第一中斷請求時,響應(yīng)所述設(shè)備熱插拔第一中斷請求。
[0147]該設(shè)備熱插拔第一中斷請求可以是基板管理控制器生成的。
[0148]第一處理器為多處理系統(tǒng)中可以處理設(shè)備熱插拔第一中斷請求的處理器。
[0149]402:第一處理器調(diào)用并執(zhí)行固件程序。
[0150]403:第一處理器當(dāng)確定熱插拔類型為熱移除時,生成設(shè)備下線中斷請求。
[0151]所述設(shè)備下線中斷請求用于觸發(fā)所述第一處理器或第四處理器將所述設(shè)備下線。
[0152]第一處理器或第四處理器為多處理器系統(tǒng)中能夠處理該設(shè)備下線中斷請求的處理器。
[0153]設(shè)備下線中斷請求由多處理器系統(tǒng)中任意一個能夠處設(shè)備下線中斷請求的處理器處理,該能夠處理處理器器下線中斷請求的處理器可能是第一處理器,或者多處理器系統(tǒng)中不包括第一處理器的任意一個處理器,為了描述上方便,本申請實施例中定義為第四處理器。
[0154]該第四處理器與第三處理器或第二處理器可能為同一處理器,或者不同處理器。
[0155]404:第一處理器檢測到所述設(shè)備下線成功時,生成設(shè)備熱插拔第二中斷請求,并向空閑處理器發(fā)送該設(shè)備熱插拔第二中斷請求。
[0156]空閑處理器響應(yīng)該設(shè)備熱插拔第二中斷請求,調(diào)用并執(zhí)行固件程序,執(zhí)行設(shè)備熱插拔操作。
[0157]本領(lǐng)域技術(shù)人員可知的是,熱插拔類型為熱移除時,必然包括設(shè)備下線的操作,以使得執(zhí)行設(shè)備熱插拔操作時,不至于系統(tǒng)崩潰,在進(jìn)行設(shè)備資源控制時,可以預(yù)先將設(shè)備進(jìn)行下線,或者如本實施例中第一處理器進(jìn)行中斷處理再觸發(fā)將設(shè)備下線。
[0158]當(dāng)然,作為另一實施例,該設(shè)備下線中斷請求還可以是在空閑處理器響應(yīng)設(shè)備熱插拔第二中斷請求時生成的,當(dāng)設(shè)備下線成功時,再執(zhí)行設(shè)備熱插拔操作。
[0159]405:第一處理器當(dāng)確定熱插拔類型為熱添加時,生成設(shè)備熱插拔第二中斷請求,并向所述空閑處理器發(fā)送第二中斷請求。[0160]406:第一處理器檢測到所述設(shè)備熱插拔的操作成功時,生成設(shè)備上線中斷請求。
[0161]所述設(shè)備上線中斷請求用于觸發(fā)所述第一處理器或第五處理器將所述設(shè)備上線。
[0162]第一處理器或第五處理器為多處理器系統(tǒng)中能夠處理該設(shè)備上線中斷請求的處理器。
[0163]設(shè)備上線中斷請求由多處理器系統(tǒng)任意一個能夠處理設(shè)備上線中斷請求的處理器處理,該能夠處理設(shè)備上線中斷請求的處理器可能是第一處理器,或者多處理器系統(tǒng)中不包括第一處理器的任意一個處理器,為了描述上方便,本申請實施例中定義為第五處理器。
[0164]設(shè)備熱插拔的操作成功后,將設(shè)備上線后,即可以在使用該設(shè)備資源。
[0165]作為又一實施例,該設(shè)備上線中斷請求也可以是空閑處理器執(zhí)行設(shè)備熱插拔操作成功時生成的。
[0166]其中,作為一種可能實現(xiàn)方式,該空閑處理器可以是第一處理器調(diào)用并執(zhí)行固件程序時,生成處理器下線中斷請求,由第一處理器或第二處理器響應(yīng)處理器下線中斷請求,將不包括自身的任一處理器下線得到的。當(dāng)?shù)谝惶幚砥鞔_定空閑處理器下線成功時,再執(zhí)行步驟403或步驟405的操作。
[0167]第一處理器當(dāng)檢測到空閑處理器的設(shè)備熱插拔第三中斷請求時,還可以生成處理器上線中斷請求。當(dāng)熱插拔類型為熱添加時,該處理器上線中斷請求可以是在確定設(shè)備上線成功后再生成。
[0168]作為另一種可能實現(xiàn)方式,該空閑處理器可以是基板管理控制器生成處理器下線請求,由第一處理器或第二處理器響應(yīng)處理器下線中斷請求,將不包括自身的任一處理器下線得到。當(dāng)基板管理控制器確定空閑處理器下線成功時,生成設(shè)備熱插拔第一中斷請求。
[0169]基板管理控制器當(dāng)檢測到設(shè)備熱插拔的操作執(zhí)行結(jié)果或在預(yù)設(shè)時間內(nèi)未檢測到設(shè)備熱插拔的操作執(zhí)行結(jié)果時,還可以生成處理器上線中斷請求。當(dāng)然該處理器上線中斷請求還可以是第一處理器接收到空閑處理器發(fā)送的設(shè)備熱插拔第三中斷請求后,響應(yīng)該設(shè)備熱插拔第三中斷請求生成的。
[0170]其中,該設(shè)備上線中斷請求以及設(shè)備下線中斷請求觸發(fā)的中斷的類型可以是PMI或 SMI。
[0171]圖5為本申請實施例提供的一種設(shè)備資源控制方法又一個實施例的流程圖,本申請實施例技術(shù)方案具體應(yīng)用于多處理器系統(tǒng)中,該處理器系統(tǒng)包括第一處理器,該方法可以包括以下幾個步驟:
[0172]501:基板管理控制器接收設(shè)備熱插拔請求。
[0173]502:基板管理控制器生成設(shè)備熱插拔第一中斷請求,并發(fā)送至第一處理器。
[0174]第一處理器響應(yīng)該設(shè)備熱插拔第一中斷請求,調(diào)用并執(zhí)行固件程序,生成設(shè)備熱插拔第二中斷請求,并向空閑處理器發(fā)送所述設(shè)備熱插拔第二中斷請求,所述設(shè)備熱插拔第二中斷請求用于觸發(fā)所述空閑處理器調(diào)用并執(zhí)行所述固件程序,執(zhí)行設(shè)備熱插拔的操作,所述空閑處理器為所述多處理器系統(tǒng)中,當(dāng)前無執(zhí)行業(yè)務(wù)的處理器。
[0175]此外,基板管理控制器接收設(shè)備熱插拔請求之前,還可以生成處理器下線中斷請求。
[0176]該處理器下線中斷請求可以觸發(fā)所述第一處理器或第二處理器將不包括自身的任一處理器下線作為空閑處理器。
[0177]則本實施例所述方法還可以包括:
[0178]基板管理控制器檢測到設(shè)備熱插拔的操作執(zhí)行結(jié)果,或者在預(yù)設(shè)時間內(nèi)未檢測到設(shè)備熱插拔的操作執(zhí)行結(jié)果,生成處理器上線中斷請求,所述處理器上線中斷請求用于觸發(fā)所述第一處理器或第三處理器將所述空閑處理器上線。
[0179]空閑處理器執(zhí)行設(shè)備熱插拔的操作結(jié)束時,可以生成設(shè)備熱插拔第三中斷請求,以通知第一處理器,第一處理器響應(yīng)該設(shè)備熱插拔第三中斷請求,獲取空閑處理器設(shè)備熱插拔的操作的執(zhí)行結(jié)果,并可以進(jìn)行標(biāo)識。
[0180]基板管理控制器檢測的設(shè)備熱插拔的操作執(zhí)行結(jié)果可以是根據(jù)第一處理器的標(biāo)識結(jié)果得到,例如第一處理器將執(zhí)行結(jié)果用發(fā)光二極管是否點亮表示,基板管理控制器根據(jù)發(fā)光二極管是否點亮,可以獲得該設(shè)備熱插拔的操作的執(zhí)行結(jié)果。
[0181]檢測到設(shè)備熱插拔的操作執(zhí)行結(jié)果時,表明設(shè)備熱插拔的操作結(jié)束,從而可以觸發(fā)空閑處理器上線。
[0182]當(dāng)然,還可以設(shè)置超時機(jī)制,如果在預(yù)設(shè)時間內(nèi)未檢測到設(shè)備熱插拔的操作執(zhí)行結(jié)果,可以確定設(shè)備熱插拔的操作執(zhí)行失敗,此時,可以觸發(fā)第一處理器將空閑處理器喚醒,并觸發(fā)空閑處理器上線。
[0183]基板管理控制器檢測到設(shè)備熱插拔的執(zhí)行結(jié)果時,還可以輸出提示信息。
[0184]在本實施例中,通過基板管理控制器可以實現(xiàn)對設(shè)備資源控制的有效監(jiān)控,由空閑處理器執(zhí)行設(shè)備熱插拔的操作,第一處理器當(dāng)前執(zhí)行業(yè)務(wù)無需被反復(fù)中斷,從而提高了處理器運行效率。
[0185]空閑處理器沒有業(yè)務(wù)執(zhí)行,不會影響整個系統(tǒng)的運行效率,因此還可以提高整個系統(tǒng)運行效率。
[0186]且由于空閑處理器沒有業(yè)務(wù)執(zhí)行,因此可以一次執(zhí)行完成對設(shè)備熱插拔的操作,也無需被反復(fù)打斷,保證了設(shè)備熱插拔的執(zhí)行效率。
[0187]圖6為本申請實施例提供的一種設(shè)備資源控制方法又一個實施例的流程圖,本申請實施例技術(shù)方案具體應(yīng)用于多處理器系統(tǒng)中,該處理器系統(tǒng)包括第一處理器,該方法可以包括以下幾個步驟:
[0188]601:空閑處理器接收第一處理器發(fā)送的設(shè)備熱插拔第二中斷請求,所述設(shè)備熱插拔第二中斷請求為第一處理器接收到設(shè)備熱插拔第一中斷請求時,響應(yīng)所述設(shè)備熱插拔第一中斷請求,調(diào)用并執(zhí)行固件程序生成的;
[0189]602:空閑處理器響應(yīng)所述設(shè)備熱插拔第二中斷請求。
[0190]空閑處理器響應(yīng)設(shè)備熱插拔第二中斷請求,可以調(diào)用并執(zhí)行所述固件程序,實現(xiàn)執(zhí)行設(shè)備熱插拔的操作,由于熱插拔類型不同,因此空閑處理器執(zhí)行的操作可能不同,可以包括:
[0191]603:空閑服務(wù)器當(dāng)確定熱插拔類型為熱移除時,生成設(shè)備下線中斷請求。
[0192]所述設(shè)備下線中斷請求用于觸發(fā)所述第一處理器或第四處理器將所述設(shè)備下線。
[0193]所述第四處理器為所述多處理器系統(tǒng)中能夠處理所述述設(shè)備下線中斷請求的任
一處理器。
[0194]604:空閑服務(wù)器檢測到設(shè)備下線成功時,執(zhí)行設(shè)備熱插拔的操作。[0195]空閑處理器確定熱插拔類型為熱移除時,若設(shè)備并未下線,則此時可以生成設(shè)備下線中斷請求,請求下線該設(shè)備。
[0196]605:空閑服務(wù)器當(dāng)確定熱插拔類型為熱添加時,執(zhí)行設(shè)備熱插拔的操作;
[0197]606:空閑服務(wù)器當(dāng)確定所述設(shè)備熱插拔的操作執(zhí)行成功時,生成設(shè)備上線中斷請求。
[0198]所述設(shè)備上線中斷請求用于觸發(fā)所述第一處理器或第五處理器將所述設(shè)備上線。
[0199]所述第五處理器為所述多處理器系統(tǒng)中能夠處理所述述設(shè)備上線中斷請求的任
一處理器。
[0200]設(shè)備熱插拔的操作執(zhí)行成功,即可以觸發(fā)設(shè)備上線,使得系統(tǒng)可以使用該設(shè)備。
[0201]其中,本實施例中的空閑處理器執(zhí)行設(shè)備熱插拔的操作成功時,還可以向第一處理器發(fā)送設(shè)備熱插拔第三中斷請求。
[0202]第一處理器響應(yīng)該設(shè)備熱插拔第三中斷請求,可以通過調(diào)用并執(zhí)行固件程序,執(zhí)行例如獲取設(shè)備熱插拔的操作執(zhí)行結(jié)果并進(jìn)行標(biāo)識等中斷處理。
[0203]當(dāng)該空閑處理器是在進(jìn)行設(shè)備資源控制時,將業(yè)務(wù)遷移后得到的,則第一處理器器響應(yīng)該設(shè)備熱插拔第三中斷請求,還可以通過調(diào)用并執(zhí)行固件程序,執(zhí)行觸發(fā)空閑處理器上線的操作。
[0204]在本實施例中,空閑處理器根據(jù)第一處理器通過執(zhí)行固件程序發(fā)送的設(shè)備熱插拔第二中斷請求,執(zhí)行設(shè)備熱插拔的操作,由于設(shè)備熱插拔操作由空閑處理器執(zhí)行,第一處理器當(dāng)前執(zhí)行業(yè)務(wù)無需被反復(fù)中斷,從而提高了處理器運行效率。
[0205]空閑處理器沒有業(yè)務(wù)執(zhí)行,不會影響整個系統(tǒng)的運行效率,因此還可以提高整個系統(tǒng)運行效率。
[0206]且由于空閑處理器沒有業(yè)務(wù)執(zhí)行,因此可以一次執(zhí)行完成對設(shè)備熱插拔的操作,也無需被反復(fù)打斷,保證了設(shè)備熱插拔的執(zhí)行效率。
[0207]對于前述的各方法實施例,為了簡單描述,故將其都表述為一系列的動作組合,但是本領(lǐng)域技術(shù)人員應(yīng)該知悉,本申請并不受所描述的動作順序的限制,因為依據(jù)本申請,某些步驟可以采用其他順序或者同時進(jìn)行。其次,本領(lǐng)域技術(shù)人員也應(yīng)該知悉,說明書中所描述的實施例均屬于優(yōu)選實施例,所涉及的動作和模塊并不一定是本申請所必須的。
[0208]圖7為本申請實施例提供的一種設(shè)備資源控制裝置一個實施例的結(jié)構(gòu)示意圖,本申請實施例技術(shù)方案具體應(yīng)用于多處理器系統(tǒng)中,該多處理器系統(tǒng)包括第一處理器,該裝置可以包括:
[0209]中斷請求生成模塊701,用于當(dāng)該第一處理器接收并響應(yīng)設(shè)備熱插拔第一中斷請求時,生成設(shè)備熱插拔第二中斷請求。
[0210]中斷請求發(fā)送模塊702,用于向空閑處理器發(fā)送所述設(shè)備熱插拔第二中斷請求。
[0211]其中,所述設(shè)備熱插拔第二中斷請求用于觸發(fā)所述空閑處理器調(diào)用并執(zhí)行固件程序,執(zhí)行設(shè)備熱插拔的操作,所述空閑處理器為所述多處理器系統(tǒng)中,當(dāng)前無執(zhí)行業(yè)務(wù)的處理器。
[0212]該中斷請求生成模塊生成設(shè)備熱插拔第二中斷請求以及中斷請求發(fā)送模塊實現(xiàn)的功能,是通過固件程序在第一處理器中運行實現(xiàn)的。第一處理器為接收設(shè)備熱插拔第一中斷請求并進(jìn)行響應(yīng)的處理器。[0213]為了方便對設(shè)備熱插拔的觸發(fā)和監(jiān)控,作為一種可能的實現(xiàn)方式,該設(shè)備熱插拔第一中斷請求可以是基板管理器或服務(wù)管理器接收到設(shè)備熱插拔請求后生成的。
[0214]基板管理控制器(BMC,Baseboard management controller)是計算機(jī)主板上的微控制器,也可以稱為管理處理器(SP,Service Processor)?;骞芾砥鳘毩⒂诓僮飨到y(tǒng),可以監(jiān)控多處理器系統(tǒng)在任何時刻的硬件狀態(tài)。
[0215]基板管理控制器一般都包括操作界面,用戶可以通過操作界面觸發(fā)設(shè)備熱插拔的操作,并對其進(jìn)行控制,操作性強(qiáng),從而實現(xiàn)可視化監(jiān)控。
[0216]當(dāng)然該設(shè)備熱插拔第一中斷請求也可以是通過用戶操作主板上的按鍵或機(jī)框上的按鈕,通過南橋硬件芯片等硬件結(jié)構(gòu)來觸發(fā)的。
[0217]在本實施例中,在第一處理器接收并響應(yīng)設(shè)備熱插拔第一中斷請求時,通過該設(shè)備資源控制裝置生成設(shè)備熱插拔第二中斷請求,發(fā)送至空閑處理器,由空閑處理器響應(yīng)該設(shè)備熱插拔第二中斷請求,執(zhí)行設(shè)備熱插拔操作,第一處理器即退出中斷處理,可以恢復(fù)其中斷的執(zhí)行業(yè)務(wù)。由于設(shè)備熱插拔操作由空閑處理器執(zhí)行,第一處理器當(dāng)前執(zhí)行業(yè)務(wù)無需被反復(fù)中斷,從而提高了處理器運行效率。
[0218]空閑處理器沒有業(yè)務(wù)執(zhí)行,不會影響整個系統(tǒng)的運行效率,因此還可以提高整個系統(tǒng)運行效率。且空閑處理器可以一次執(zhí)行完成對設(shè)備熱插拔的操作,也無需被反復(fù)打斷,保證了設(shè)備熱插拔的執(zhí)行效率。
[0219]圖8為本申請實施例提供的一種設(shè)備資源控制方法另一個實施例的結(jié)構(gòu)示意圖,本申請實施例技術(shù)方案具體應(yīng)用于多處理器系統(tǒng)中,該多處理器系統(tǒng)包括第一處理器,該裝置可以包括:
[0220]中斷請求生成模塊801,用于當(dāng)該第一處理器接收并響設(shè)備熱插拔第一中斷請求時,生成設(shè)備熱插拔第二中斷請求;
[0221]其中,本實施例中,該中斷請求生成模塊801可以包括:
[0222]處理器下線模塊8011,用于生成處理器下線中斷請求。
[0223]所述處理器下線中斷請求用于觸發(fā)所述第一處理器或第二處理器將不包括自身的任一處理器下線作為空閑處理器。
[0224]第一處理器或第二處理器為多處理器系統(tǒng)中能夠處理處理器下線中斷請求的處理器。其中將不包括自身的任一處理器下線作為空閑處理器具體可以將不包括自身的,且業(yè)務(wù)處理壓力相對較小的處理器下線作為空閑處理器。
[0225]第一處理器或第二處理器將不包括自身的任一處理器下線作為空閑處理器時,可以先判斷當(dāng)前執(zhí)行業(yè)務(wù)是否滿足預(yù)設(shè)條件,以確定當(dāng)前執(zhí)行業(yè)務(wù)是否不繁忙,當(dāng)當(dāng)前執(zhí)行業(yè)務(wù)不繁忙時,再選擇任一處理器下線。
[0226]中斷請求生成子模塊8012,用于當(dāng)檢測到所述空閑處理器下線成功時,生成設(shè)備熱插拔第二中斷請求。
[0227]當(dāng)空閑處理器下線成功時,即生成設(shè)備熱插拔第二中斷請求,發(fā)送至空閑處理器。此時第一處理器即退出當(dāng)前中斷處理,返回接收到設(shè)備熱插拔第一中斷請求時,當(dāng)前執(zhí)行業(yè)務(wù)的斷點繼續(xù)執(zhí)行。
[0228]中斷請求發(fā)送模塊802,用于向空閑處理器發(fā)送所述設(shè)備熱插拔第二中斷請求。
[0229]空閑處理器接收到設(shè)備熱插拔第二中斷請求,響應(yīng)該設(shè)備熱插拔第二中斷請求,調(diào)用并執(zhí)行該固件程序,實現(xiàn)設(shè)備熱插拔的操作。
[0230]空閑處理器執(zhí)行的設(shè)備熱插拔的操作包括設(shè)備上電初始化或設(shè)備下電操作,根據(jù)熱插拔類型不同而確定。
[0231]熱插拔類型為熱移除時,空閑處理器執(zhí)行設(shè)備熱插拔的操作時,需要保證設(shè)備已經(jīng)下線,即將該設(shè)備中的業(yè)務(wù)進(jìn)行遷移。設(shè)備下線可以由第一處理器或任一處理器執(zhí)行,與現(xiàn)有技術(shù)相同不再贅述。
[0232]熱插拔類型為熱添加時,設(shè)備熱插拔的操作執(zhí)行成功時,需要將設(shè)備上線,即將設(shè)備添加至設(shè)備資源中,設(shè)備上線可以由第一處理器或任一處理器執(zhí)行,與現(xiàn)有技術(shù)相同不再贅述。
[0233]空閑處理器執(zhí)行設(shè)備熱插拔的操作完成時,還可以生成設(shè)備熱插拔第三中斷請求。
[0234]因此,本實施例中,該裝置還可以包括:
[0235]處理器上線模塊803,用于當(dāng)所述第一處理器響應(yīng)所述空閑處理器執(zhí)行設(shè)備熱插拔的操作結(jié)束時發(fā)送的設(shè)備熱插拔第三中斷請求時,生成處理器上線中斷請求。
[0236]所述處理器上線中斷請求用于觸發(fā)所述第一處理器或第三處理器將所述空閑處理器上線。
[0237]第一處理器或第三處理器為多處理器系統(tǒng)中能夠處理該處理器上線中斷請求的處理器。
[0238]當(dāng)然,本實施例中設(shè)備資源控制裝置還可以判斷設(shè)備熱插拔的操作是否執(zhí)行成功等,并進(jìn)行標(biāo)識以通知用戶。例如通過主板或機(jī)框上的二極管的亮滅進(jìn)行標(biāo)識。
[0239]在本實施例中,當(dāng)?shù)谝惶幚砥黜憫?yīng)設(shè)備熱插拔第一中斷請求時,該裝置生成處理器下線中斷請求,觸發(fā)將不包括第一處理器的任一處理器下線作為空閑處理器。當(dāng)空閑處理器下線成功時,生成設(shè)備熱插拔第二請求時,發(fā)送至該空閑處理器,由空閑處理器執(zhí)行設(shè)備熱插拔操作,因此第一處理器當(dāng)前執(zhí)行業(yè)務(wù)無需被反復(fù)中斷,從而提高了處理器運行效率。
[0240]空閑處理器沒有業(yè)務(wù)執(zhí)行,不會影響整個系統(tǒng)的運行效率,因此還可以提高整個系統(tǒng)運行效率。且空閑處理器可以一次執(zhí)行完成對設(shè)備熱插拔的操作,也無需被反復(fù)打斷,保證了設(shè)備熱插拔的執(zhí)行效率。
[0241]其中,作為另一個實施例,處理器下線中斷請求可以是基板管理控制器生成并發(fā)送至第一處理器。
[0242]基板管理控制器還可以生成設(shè)備熱插拔第一中斷請求發(fā)送至第一處理器,第一處理器響應(yīng)設(shè)備熱插拔該第一中斷請求時,可以通過本申請實施例提供的設(shè)備資源控制裝置生成設(shè)備熱插拔第二中斷請求,并發(fā)送至空閑處理器。
[0243]基板管理控制器可以對設(shè)備熱插拔執(zhí)行結(jié)果進(jìn)行檢測,
[0244]檢測到設(shè)備熱插拔執(zhí)行結(jié)果,或者在預(yù)設(shè)時間內(nèi)未檢測到設(shè)備熱插拔執(zhí)行結(jié)果時,則可以生成處理器上線中斷請求。由第一處理器或第三處理器將空閑處理器上線。
[0245]第一處理器或第三處理器為多處理器系統(tǒng)中能夠處理該處理器上線中斷請求的處理器。
[0246]圖9為本申請實施例中一種設(shè)備資源控制方法又一個實施例的結(jié)構(gòu)示意圖,本申請實施例技術(shù)方案具體應(yīng)用于多處理器系統(tǒng)中,該處理器系統(tǒng)包括第一處理器,該裝置可以包括:
[0247]中斷請求生成模塊901,用于接收到設(shè)備熱插拔第一中斷請求。響應(yīng)所述設(shè)備熱插拔第一中斷請求時,生成設(shè)備熱插拔第二中斷請求。
[0248]本實施例中,以熱插拔類型為熱移除時進(jìn)行介紹。
[0249]因此該中斷請求生成模塊901可以包括:
[0250]第一設(shè)備下線模塊9011:用于生成設(shè)備下線中斷請求,所述設(shè)備下線中斷請求用于觸發(fā)所述第一處理器或第四處理器將所述設(shè)備下線。
[0251]中斷請求生成子模塊9012,用于當(dāng)檢測到所述設(shè)備下線成功時,生成設(shè)備熱插拔第二中斷請求,并向空閑處理器發(fā)送所述設(shè)備熱插拔第二中斷請求。
[0252]其中,作為一種可能的實現(xiàn)方式,該空閑處理器可以是第一處理器調(diào)用并執(zhí)行固件程序時,生成處理器下線中斷請求,由第一處理器或第二處理器響應(yīng)處理器下線中斷請求,將不包括自身的任一處理器下線得到的。
[0253]因此該中斷請求生成模塊還可以包括:
[0254]處理器下線模塊,用于生成處理器下線中斷請求。
[0255]所述處理器下線中斷請求用于觸發(fā)第一處理器或第二處理器將不包括自身的任一處理器下線作為空閑處理器。
[0256]則當(dāng)熱插拔類型為熱移除時,該設(shè)備下線模塊9011具體可以是在檢測到所述空閑處理器下線成功時,生成設(shè)備下線中斷請求,或者所述中斷請求生成子模塊9012具體可以是在檢測到所述設(shè)備下線成功,且所述空閑處理器下線成功時,生成設(shè)備熱插拔第二中斷請求。
[0257]作為另一種可能實現(xiàn)方式,該空閑處理器可以是基板管理控制器生成處理器下線請求,由第一處理器或第二處理器響應(yīng)處理器下線中斷請求,將不包括自身的任一處理器下線得到。當(dāng)基板管理控制器確定空閑處理器下線成功時,生成設(shè)備熱插拔第一中斷請求。
[0258]中斷請求發(fā)送模塊902,用于向空閑處理器發(fā)送所述設(shè)備熱插拔第二中斷請求。
[0259]空閑處理器響應(yīng)該設(shè)備熱插拔第二中斷請求,調(diào)用并執(zhí)行固件程序,執(zhí)行設(shè)備熱插拔操作。
[0260]本領(lǐng)域技術(shù)人員可知的是,熱插拔類型為熱移除時,必然包括設(shè)備下線的操作,以使得執(zhí)行設(shè)備熱插拔操作時,不至于系統(tǒng)崩潰,在進(jìn)行設(shè)備資源控制時,可以由任一處理器預(yù)先將設(shè)備進(jìn)行下線,或者如本實施例中由設(shè)備資源控制裝置進(jìn)行中斷處理時,觸發(fā)將設(shè)備下線。
[0261]圖10為本申請實施例中一種設(shè)備資源控制方法又一個實施例的結(jié)構(gòu)示意圖,本申請實施例技術(shù)方案具體應(yīng)用于多處理器系統(tǒng)中,該處理器系統(tǒng)包括第一處理器,該裝置可以包括:
[0262]中斷請求生成模塊1001,用于接收到設(shè)備熱插拔第一中斷請求。響應(yīng)所述設(shè)備熱插拔第一中斷請求時,生成設(shè)備熱插拔第二中斷請求。
[0263]中斷請求發(fā)送模塊1002,用于向空閑處理器發(fā)送所述設(shè)備熱插拔第二中斷請求。
[0264]本實施例中,以熱插拔類型為熱添加時進(jìn)行介紹,因此,該裝置還可以包括:
[0265]第一設(shè)備上線模塊1003,用于當(dāng)確定所述空閑處理器執(zhí)行設(shè)備熱插拔的操作執(zhí)行成功時,生成設(shè)備上線中斷請求,所述設(shè)備上線中斷請求用于觸發(fā)所述第一處理器或第五處理器將所述設(shè)備上線。
[0266]其中,作為一種可能的實現(xiàn)方式,該空閑處理器可以是第一處理器調(diào)用并執(zhí)行固件程序時,生成處理器下線中斷請求,由第一處理器或第二處理器響應(yīng)處理器下線中斷請求,將不包括自身的任一處理器下線得到的。
[0267]因此該中斷請求生成模塊1002可以包括:
[0268]處理器下線模塊,用于生成處理器下線中斷請求。
[0269]所述處理器下線中斷請求用于觸發(fā)第一處理器或第二處理器將不包括自身的任一處理器下線作為空閑處理器。
[0270]中斷請求生成子模塊,用于當(dāng)檢測到所述空閑處理器下線成功時,生成設(shè)備熱插拔第二中斷請求。
[0271]因此該裝置還可以包括:
[0272]處理器上線模塊,用于響應(yīng)所述空閑處理器執(zhí)行設(shè)備熱插拔的操作結(jié)束時發(fā)送的設(shè)備熱插拔第三中斷請求,生成處理器上線中斷請求。
[0273]所述處理器上線中斷請求用于觸發(fā)所述第一處理器或第三處理器將所述空閑處理器上線。
[0274]作為另一種可能實現(xiàn)方式,該空閑處理器可以是基板管理控制器生成處理器下線請求,由第一處理器或第二處理器響應(yīng)處理器下線中斷請求,將不包括自身的任一處理器下線得到。當(dāng)基板管理控制器確定空閑處理器下線成功時,生成設(shè)備熱插拔第一中斷請求。
[0275]基板管理控制器當(dāng)檢測到設(shè)備熱插拔的操作執(zhí)行結(jié)果或在預(yù)設(shè)時間內(nèi)未檢測到設(shè)備熱插拔的操作執(zhí)行結(jié)果時,還可以生成處理器上線中斷請求。
[0276]當(dāng)然該處理器上線中斷請求還可以是第一處理器接收到空閑處理器發(fā)送的設(shè)備熱插拔第三中斷請求后,響應(yīng)該設(shè)備熱插拔第三中斷請求生成并發(fā)送至基板管理控制器的。
[0277]上述圖7?圖10對應(yīng)的設(shè)備資源控制裝置,在實際應(yīng)用中可以集成到固件程序中,該固件程序被第一處理器調(diào)用并執(zhí)行,從而實現(xiàn)由空閑處理器執(zhí)行設(shè)備熱插拔操作,第一處理器的當(dāng)前執(zhí)行業(yè)務(wù)無需被反復(fù)中斷,可以保證處理器的運行效率,同時空閑處理器執(zhí)行的設(shè)備熱插拔操作也無需被反復(fù)中斷,保證了設(shè)備熱插拔操作的執(zhí)行效率。
[0278]因此本申請實施例還提供了一種固件程序,該固件程序包括圖7?圖10任一實施例中所述的設(shè)備資源控制裝置。
[0279]圖11為本申請實施例提供的一種設(shè)備資源控制裝置又一個實施例的結(jié)構(gòu)示意圖,本申請技術(shù)方案具體應(yīng)用于多處理器系統(tǒng)中,該處理器系統(tǒng)包括第一處理器,在實際應(yīng)用中,該設(shè)備資源控制裝置具體應(yīng)用于基板管理控制器中,該裝置可以包括:
[0280]請求接收模塊1101,用于接收設(shè)備熱插拔請求;
[0281]第一中斷生成模塊1102,用于生成設(shè)備熱插拔第一中斷請求,并發(fā)送至第一處理器。
[0282]第一處理器響應(yīng)該設(shè)備熱插拔第一中斷請求,通過調(diào)用并執(zhí)行固件程序,生成設(shè)備熱插拔第二中斷請求,并向空閑處理器發(fā)送所述設(shè)備熱插拔第二中斷請求。
[0283]空閑處理器響應(yīng)該設(shè)備熱插拔第二中斷請求,通過調(diào)用并執(zhí)行所述固件程序,執(zhí)行設(shè)備熱插拔的操作。
[0284]其中,所述空閑處理器為所述多處理器系統(tǒng)中,當(dāng)前無執(zhí)行業(yè)務(wù)的處理器。
[0285]作為一種可能的實現(xiàn)方式,該裝置還可以包括:
[0286]處理器下線模塊1103,用于生成處理器下線中斷請求,所述處理器下線中斷請求用于觸發(fā)所述第一處理器或第二處理器將不包括自身的任一處理器下線作為空閑處理器。
[0287]處理器上線模塊1104,用于檢測到設(shè)備熱插拔的操作執(zhí)行結(jié)果,或者在預(yù)設(shè)時間內(nèi)未檢測到設(shè)備熱插拔的操作執(zhí)行結(jié)果,生成處理器上線中斷請求,所述處理器上線中斷請求用于觸發(fā)所述第一處理器或第三處理器將所述空閑處理器上線。
[0288]空閑處理器執(zhí)行設(shè)備熱插拔的操作結(jié)束時,可以生成設(shè)備熱插拔第三中斷請求,以通知第一處理器,第一處理器響應(yīng)該設(shè)備熱插拔第三中斷請求,獲取空閑處理器設(shè)備熱插拔的操作的執(zhí)行結(jié)果,并可以進(jìn)行標(biāo)識。
[0289]處理器上線模塊檢測的設(shè)備熱插拔的操作執(zhí)行結(jié)果可以是根據(jù)第一處理器的標(biāo)識結(jié)果得到,例如第一處理器將執(zhí)行結(jié)果用發(fā)光二極管是否點亮表示,基板管理控制器根據(jù)發(fā)光二極管是否點亮,可以獲得該設(shè)備熱插拔的操作的執(zhí)行結(jié)果。
[0290]檢測到設(shè)備熱插拔的操作執(zhí)行結(jié)果時,表明設(shè)備熱插拔的操作結(jié)束,從而可以觸發(fā)空閑處理器上線。
[0291]當(dāng)然,還可以設(shè)置超時機(jī)制,如果處理器上線模塊在預(yù)設(shè)時間內(nèi)未檢測到設(shè)備熱插拔的操作執(zhí)行結(jié)果,可以確定設(shè)備熱插拔的操作執(zhí)行失敗,此時,可以觸發(fā)第一處理器將空閑處理器喚醒,并觸發(fā)空閑處理器上線。
[0292]另外,該裝置還可以包括:
[0293]信息輸出模塊1105,用于檢測到設(shè)備熱插拔的執(zhí)行結(jié)果時,輸出提示信息。以通知用戶設(shè)備熱插拔的執(zhí)行結(jié)果。
[0294]圖11對應(yīng)的設(shè)備資源控制置在實際應(yīng)用中具體應(yīng)用于基板管理控制器中,通過部署本實施例設(shè)備資源控制裝置的基板管理控制器可以對方便對設(shè)備熱插拔操作的控制,還可以實現(xiàn)可視化監(jiān)控。
[0295]通過以上描述可知,本領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明可借助軟件加必需的通用硬件平臺的方式來實現(xiàn)。參見圖12,本發(fā)明實施例還提供了一種基板管理控制器,該基板管理控制器可以包括:
[0296]接收器1201,用于接收設(shè)備熱插拔請求;
[0297]控制器1202,用于生成設(shè)備熱插拔第一中斷請求,并發(fā)送至第一處理器。
[0298]第一處理器響應(yīng)該設(shè)備熱插拔第一中斷請求,通過調(diào)用并執(zhí)行固件程序,生成設(shè)備熱插拔第二中斷請求,并向空閑處理器發(fā)送所述設(shè)備熱插拔第二中斷請求。
[0299]空閑處理器響應(yīng)該設(shè)備熱插拔第二中斷請求,通過調(diào)用并執(zhí)行所述固件程序,執(zhí)行設(shè)備熱插拔的操作。
[0300]其中,所述空閑處理器為所述多處理器系統(tǒng)中,當(dāng)前無執(zhí)行業(yè)務(wù)的處理器。
[0301 ] 此外,該控制器1202還可以用于生成處理器下線中斷請求,所述處理器下線中斷請求用于觸發(fā)所述第一處理器或第二處理器將不包括自身的任一處理器下線作為空閑處理器;當(dāng)檢測到設(shè)備熱插拔的操作執(zhí)行結(jié)果,或者在預(yù)設(shè)時間內(nèi)未檢測到設(shè)備熱插拔的操作執(zhí)行結(jié)果,生成處理器上線中斷請求,所述處理器上線中斷請求用于觸發(fā)所述第一處理器或第三處理器將所述空閑處理器上線。
[0302]圖13為本申請實施例提供的一種設(shè)備資源控制裝置又一個實施例的結(jié)構(gòu)示意圖,本申請實施例技術(shù)方案具體應(yīng)用于多處理器系統(tǒng)中,該多處理器系統(tǒng)包括第一處理器,該裝置可以包括:
[0303]熱插拔執(zhí)行模塊1301,用于當(dāng)空閑服務(wù)器響應(yīng)第一處理器發(fā)送的設(shè)備熱插拔第二中斷請求時,執(zhí)行設(shè)備熱插拔的操作。
[0304]其中,設(shè)備熱插拔第二中斷請求為所述第一處理器接收到設(shè)備熱插拔第一中斷請求時,響應(yīng)所述設(shè)備熱插拔第一中斷請求,調(diào)用并執(zhí)行固件程序生成的。
[0305]該熱插拔執(zhí)行模塊執(zhí)行設(shè)備熱插拔的操作根據(jù)熱插拔的類型而不同。
[0306]當(dāng)設(shè)備熱插拔類型為熱移除時,該熱插拔執(zhí)行模塊1301可以包括:
[0307]第二設(shè)備下線模塊1311,用于生成設(shè)備下線中斷請求,所述設(shè)備下線中斷請求用于觸發(fā)所述第一處理器或第四處理器將所述設(shè)備下線,所述第四處理器為所述多處理器系統(tǒng)中能夠處理所述述設(shè)備下線中斷請求的任一處理器。
[0308]第一操作執(zhí)行模塊1321,用于當(dāng)檢測到設(shè)備下線成功時,執(zhí)行設(shè)備熱插拔的操作。
[0309]當(dāng)設(shè)備熱插拔類型為熱添加時,該熱插拔執(zhí)行操作可以包括:
[0310]第二操作執(zhí)行模塊1331,用于執(zhí)行設(shè)備熱插拔的操作;
[0311]第二設(shè)備上線模塊1341,用于當(dāng)所述設(shè)備熱插拔的操作執(zhí)行成功時,生成設(shè)備上線中斷請求,所述設(shè)備上線中斷請求用于觸發(fā)所述第一處理器或第五處理器將所述設(shè)備上線,所述第五處理器為所述多處理器系統(tǒng)中能夠處理所述述設(shè)備上線中斷請求的任一處理器。
[0312]其中,當(dāng)設(shè)備熱插拔操作執(zhí)行完成時,該裝置還可以向第一處理器發(fā)送設(shè)備熱插拔第三中斷請求。
[0313]第一處理器響應(yīng)該設(shè)備熱插拔第三中斷請求,可以通過調(diào)用并執(zhí)行固件程序,執(zhí)行例如獲取設(shè)備熱插拔的操作執(zhí)行結(jié)果并進(jìn)行標(biāo)識等中斷處理。
[0314]當(dāng)該空閑處理器是在進(jìn)行設(shè)備資源控制時,將業(yè)務(wù)遷移后得到的,則第一處理器器響應(yīng)該設(shè)備熱插拔第三中斷請求,還可以通過調(diào)用并執(zhí)行固件程序,執(zhí)行觸發(fā)空閑處理器上線的操作。
[0315]在本實施例中,當(dāng)空閑處理器響應(yīng)設(shè)備熱插拔第二中斷中斷請求時,執(zhí)行設(shè)備熱插拔的操作,由于設(shè)備熱插拔操作由空閑處理器控制執(zhí)行,第一處理器當(dāng)前執(zhí)行業(yè)務(wù)無需被反復(fù)中斷,從而提高了處理器運行效率,且空閑處理器當(dāng)前無執(zhí)行業(yè)務(wù),因此其執(zhí)行的設(shè)備熱插拔的操作無需被反復(fù)打斷,保證了設(shè)備熱插拔的執(zhí)行效率。
[0316]上述圖13對應(yīng)的設(shè)備資源控制裝置,在實際應(yīng)用中可以集成到固件程序中,該固件程序被空閑處理器調(diào)用并執(zhí)行,從而實現(xiàn)執(zhí)行設(shè)備熱插拔操作,使得第一處理器的當(dāng)前執(zhí)行業(yè)務(wù)無需被反復(fù)中斷,可以保證處理器的運行效率,同時執(zhí)行的設(shè)備熱插拔操作也無需被反復(fù)中斷,保證了設(shè)備熱插拔操作的執(zhí)行效率。
[0317]因此本申請實施例還提供了一種固件程序,該固件程序包括圖13中所述的設(shè)備資源控制裝置。
[0318]本說明書中各個實施例采用遞進(jìn)的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似部分互相參見即可。對于實施例公開的裝置而言,由于其與實施例公開的方法相對應(yīng),所以描述的比較簡單,相關(guān)之處參見方法部分說明即可。
[0319]最后,還需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同要素。
[0320]為了描述的方便,描述以上裝置時以功能分為各種單元分別描述。當(dāng)然,在實施本申請時可以把各單元的功能在同一個或多個軟件和/或硬件中實現(xiàn)。
[0321]通過以上的實施方式的描述可知,本領(lǐng)域的技術(shù)人員可以清楚地了解到本申請可借助軟件加必需的通用硬件平臺的方式來實現(xiàn)?;谶@樣的理解,本申請的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機(jī)軟件產(chǎn)品可以存儲在存儲介質(zhì)中,如R0M/RAM、磁碟、光盤等,包括若干指令用以使得一臺計算機(jī)設(shè)備(可以是個人計算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本申請各個實施例或者實施例的某些部分所述的方法。
[0322]對所公開的實施例的上述說明,使本領(lǐng)域?qū)I(yè)技術(shù)人員能夠?qū)崿F(xiàn)或使用本申請。對這些實施例的多種修改對本領(lǐng)域的專業(yè)技術(shù)人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本申請的精神或范圍的情況下,在其它實施例中實現(xiàn)。因此,本申請將不會被限制于本文所示 的這些實施例,而是要符合與本文所公開的原理和新穎特點相一致的最寬的范圍。
【權(quán)利要求】
1.一種設(shè)備資源控制方法,應(yīng)用于多處理器系統(tǒng),其中,所述多處理器系統(tǒng)包括第一處理器,其特征在于,所述方法包括: 所述第一處理器接收到設(shè)備熱插拔第一中斷請求,響應(yīng)所述設(shè)備熱插拔第一中斷請求時,調(diào)用并執(zhí)行固件程序,生成設(shè)備熱插拔第二中斷請求; 所述第一處理器向空閑處理器發(fā)送所述設(shè)備熱插拔第二中斷請求,其中,所述設(shè)備熱插拔第二中斷請求用于觸發(fā)所述空閑處理器調(diào)用并執(zhí)行所述固件程序,執(zhí)行設(shè)備熱插拔的操作,所述空閑處理器為所述多處理器系統(tǒng)中,當(dāng)前無執(zhí)行業(yè)務(wù)的處理器。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述設(shè)備熱插拔第一中斷請求具體為基板管理控制器BMC接收到設(shè)備熱插拔請求后生成的。
3.根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述調(diào)用并執(zhí)行固件程序,生成設(shè)備熱插拔第二中斷請求,包括: 調(diào)用并執(zhí)行固件程序,生成處理器下線中斷請求,所述處理器下線中斷請求用于觸發(fā)所述第一處理器或第二處理器將不包括自身的任一處理器下線作為空閑處理器,所述第二處理器為所述多處理器系統(tǒng)中能夠處理所述處理器下線中斷請求的任一處理器; 當(dāng)檢測到所述空閑處理器下線成功時,生成設(shè)備熱插拔第二中斷請求。
4.一種設(shè)備資源控制方法,應(yīng)用于多處理器系統(tǒng)中,其中,所述多處理器系統(tǒng)包括第一處理器,其特征在于,所述方法包括: 基板管理控制器接收設(shè)備熱插拔請求; 所述基板管理控制器生成設(shè)備熱插拔第一中斷請求,并發(fā)送至所述第一處理器,以便于所述第一處理器響應(yīng)該 設(shè)備熱插拔第一中斷請求時,調(diào)用并執(zhí)行固件程序,生成設(shè)備熱插拔第二中斷請求,并向空閑處理器發(fā)送所述設(shè)備熱插拔第二中斷請求,所述設(shè)備熱插拔第二中斷請求用于觸發(fā)所述空閑處理器調(diào)用并執(zhí)行所述固件程序,執(zhí)行設(shè)備熱插拔的操作,所述空閑處理器為所述多處理器系統(tǒng)中,當(dāng)前無執(zhí)行業(yè)務(wù)的處理器。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述生成設(shè)備熱插拔第一中斷請求之前,所述方法還包括: 所述基板管理控制器生成處理器下線中斷請求,所述處理器下線中斷請求用于觸發(fā)所述第一處理器或第二處理器將不包括自身的任一處理器下線作為空閑處理器,所述第二處理器為所述多處理器系統(tǒng)中能夠處理所述處理器下線中斷請求的任一處理器; 則所述生成設(shè)備熱插拔第一中斷請求后,所述方法還包括: 所述基板管理控制器檢測到設(shè)備熱插拔的操作執(zhí)行結(jié)果,或者在預(yù)設(shè)時間內(nèi)未檢測到設(shè)備熱插拔的操作執(zhí)行結(jié)果時,生成處理器上線中斷請求,所述處理器上線中斷請求用于觸發(fā)所述第一處理器或第三處理器將所述空閑處理器上線,所述第三處理器為所述多處理器系統(tǒng)中能夠處理所述處理器上線中斷請求的任一處理器。
6.一種設(shè)備資源控制方法,應(yīng)用于多處理器系統(tǒng)中,其中,所述多處理器系統(tǒng)包括第一處理器,其特征在于所述方法包括: 空閑處理器響應(yīng)所述第一處理器發(fā)送的設(shè)備熱插拔第二中斷請求,所述設(shè)備熱插拔第二中斷請求為所述第一處理器接收到設(shè)備熱插拔第一中斷請求,響應(yīng)所述設(shè)備熱插拔第一中斷請求后,調(diào)用并執(zhí)行固件程序生成的; 所述空閑處理器調(diào)用并執(zhí)行所述固件程序,執(zhí)行設(shè)備熱插拔的操作。
7.一種設(shè)備資源控制裝置,應(yīng)用于多處理器系統(tǒng)中,其中,所述多處理系統(tǒng)包括第一處理器,其特征在于,所述裝置包括: 中斷請求生成模塊,用于當(dāng)所述第一處理器接收并響應(yīng)設(shè)備熱插拔第一中斷請求時,生成設(shè)備熱插拔第二中斷請求; 中斷請求發(fā)送模塊,用于向空閑處理器發(fā)送所述中斷請求生成模塊生成的所述設(shè)備熱插拔第二中斷請求; 其中,所述設(shè)備熱插拔第二中斷請求用于觸發(fā)所述空閑處理器調(diào)用并執(zhí)行固件程序,執(zhí)行設(shè)備熱插拔的操作,所述空閑處理器為所述多處理器系統(tǒng)中,當(dāng)前無執(zhí)行業(yè)務(wù)的處理器。
8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述中斷請求生成模塊包括: 處理器下線模塊,用于生成處理器下線中斷請求,所述處理器下線中斷請求用于觸發(fā)所述第一處理器或第二處理器將不包括自身的任一處理器下線作為空閑處理器,所述第二處理器為所述多處理器系統(tǒng)中能夠處理所述處理器下線中斷請求的任一處理器; 中斷請求生成子模塊,用于當(dāng)檢測到所述空閑處理器下線成功時,生成設(shè)備熱插拔第二中斷請求。
9.根據(jù)權(quán)利要8所述的裝置,其特征在于,還包括: 處理器上線模塊,用于當(dāng)響應(yīng)所述空閑處理器執(zhí)行設(shè)備熱插拔的操作結(jié)束時發(fā)送的設(shè)備熱插拔第三中斷請求時,生成處理器上線中斷請求,所述處理器上線中斷請求用于觸發(fā)所述第一處理器或第三處理器將所述空閑處理器上線,所述第三處理器為所述多處理器系統(tǒng)中能夠處理所述處理器上線中斷請求的任一處理器。
10.根據(jù)權(quán)利要求7~9任一項所述的裝置,其特征在于,熱插拔類型為熱移除時,所述中斷請求生成模塊包括: 第一設(shè)備下線模塊:用于生成設(shè)備下線中斷請求,所述設(shè)備下線中斷請求用于觸發(fā)所述第一處理器或第四處理器將所述設(shè)備下線,所述第四處理器為所述多處理器系統(tǒng)中能夠處理所述設(shè)備下線中斷請求的任一處理器; 中斷請求生成子模塊,用于當(dāng)檢測到所述設(shè)備下線成功時,生成設(shè)備熱插拔第二中斷請求,并向空閑處理器發(fā)送所述設(shè)備熱插拔第二中斷請求。
11.根據(jù)權(quán)利要求7~9任一項所述的裝置,其特征在于,熱插拔類型為熱添加時,所述裝置還包括: 第一設(shè)備上線模塊,用于當(dāng)確定所述空閑處理器執(zhí)行設(shè)備熱插拔的操作執(zhí)行成功時,生成設(shè)備上線中斷請求,所述設(shè)備上線中斷請求用于觸發(fā)所述第一處理器或第五處理器將所述設(shè)備上線,所述第五處理器為所述多處理器系統(tǒng)中能夠處理所述設(shè)備上線中斷請求的任一處理器。
12.—種設(shè)備資源控制裝置,應(yīng)用于多處理器系統(tǒng)中,其中,所述多處理器系統(tǒng)包括第一處理器,其特征在于,所述裝置包括: 請求接收模塊,用于接收設(shè)備熱插拔請求; 第一中斷生成模塊,用于當(dāng)所述請求接收模塊接收到所述設(shè)備熱插拔請求時,生成設(shè)備熱插拔第一中斷請求,并發(fā)送至第一處理器,以便于所述第一處理器響應(yīng)該設(shè)備熱插拔第一中斷請求,調(diào)用并執(zhí)行固 件程序,生成設(shè)備熱插拔第二中斷請求,并向空閑處理器發(fā)送所述設(shè)備熱插拔第二中斷請求,所述設(shè)備熱插拔第二中斷請求用于觸發(fā)所述空閑處理器調(diào)用并執(zhí)行所述固件程序,執(zhí)行設(shè)備熱插拔的操作,所述空閑處理器為所述多處理器系統(tǒng)中,當(dāng)前無執(zhí)行業(yè)務(wù)的處理器。
13.根據(jù)權(quán)利要求12所述的裝置,其特征在于,還包括: 處理器下線模塊,用于生成處理器下線中斷請求,所述處理器下線中斷請求用于觸發(fā)所述第一處理器或第二處理器將不包括自身的任一處理器下線作為空閑處理器,所述第二處理器為所述多處理器系統(tǒng)中能夠處理所述處理器下線中斷請求的任一處理器; 處理器上線模塊,用于檢測到設(shè)備熱插拔的操作執(zhí)行結(jié)果,或者在預(yù)設(shè)時間內(nèi)未檢測到設(shè)備熱插拔的操作執(zhí)行結(jié)果,生成處理器上線中斷請求,所述處理器上線中斷請求用于觸發(fā)所述第一處理器或第三處理器將所述空閑處理器上線,所述第三處理器為所述多處理器系統(tǒng)中能夠處理所述處理器上線中斷請求的任一處理器。
14.一種設(shè)備資源控制裝置,應(yīng)用于多處理器系統(tǒng)中,其中,所述多處理系統(tǒng)包括第一處理器,其特征在于,所述裝置包括: 熱插拔執(zhí)行模塊,用于當(dāng)空閑處理器響應(yīng)第一處理器發(fā)送的設(shè)備熱插拔第二中斷請求時,執(zhí)行設(shè)備熱插拔的操作;所述設(shè)備熱插拔第二中斷請求為所述第一處理器接收到設(shè)備熱插拔第一中斷請求時,響應(yīng)所述設(shè)備熱插拔第一中斷請求,調(diào)用并執(zhí)行固件程序生成的。
15.根據(jù)權(quán)利要求14所述的裝置,其特征在于,當(dāng)熱插拔類型為熱移除時,所述熱插拔執(zhí)行模塊包括: 第二設(shè)備下線模塊,用于生成設(shè)備下線中斷請求,所述設(shè)備下線中斷請求用于觸發(fā)所述第一處理器或第四處理器將所述設(shè)備下線,所述第四處理器為所述多處理器系統(tǒng)中能夠處理所述述設(shè)備下線中斷請求的任一處理器;` 第一操作執(zhí)行模塊,用于當(dāng)檢測到設(shè)備下線成功時,執(zhí)行設(shè)備熱插拔的操作;或者, 當(dāng)熱插拔類型為熱添加時,所述第二中斷響應(yīng)模塊包括: 第二操作執(zhí)行模塊,用于執(zhí)行設(shè)備熱插拔的操作; 第二設(shè)備上線模塊,用于當(dāng)所述設(shè)備熱插拔的操作執(zhí)行成功時,生成設(shè)備上線中斷請求,所述設(shè)備上線中斷請求用于觸發(fā)所述第一處理器或第五處理器將所述設(shè)備上線,所述第五處理器為所述多處理器系統(tǒng)中能夠處理所述述設(shè)備上線中斷請求的任一處理器。
【文檔編號】G06F13/10GK103631736SQ201310617818
【公開日】2014年3月12日 申請日期:2013年11月27日 優(yōu)先權(quán)日:2013年11月27日
【發(fā)明者】周超, 陳奔 申請人:華為技術(shù)有限公司