亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

在虛擬機環(huán)境中檢測自旋循環(huán)的制作方法

文檔序號:6462997閱讀:195來源:國知局
專利名稱:在虛擬機環(huán)境中檢測自旋循環(huán)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及信息處理領(lǐng)域,特別是涉及平臺虛擬化領(lǐng)域。
背景技術(shù)
通常,信息處理系統(tǒng)中的虛擬化的相無念允if—個或多個操怍系統(tǒng)的多個 實例(一"OS的每一個)在單個信息處理系統(tǒng)上運行,盡管每一個OS 都被設(shè) 計成擁有對該系及其資源的完全的、直接的控制。通常,通過客戶軟件(例 如,虛扣對幾監(jiān)視器,或者"VMMT,來實現(xiàn)虛擬化,以便將"虛扣對幾"("VM,艱 供薪個OS,所述"虛扣對幾"具有虛擬資源,包括可以由OS完全且直接控制的一個或多個虛擬處理器,同時VMM維持用于實現(xiàn)虛擬化策^如在 VM("虛擬化環(huán)境"或"虛擬機環(huán)境")之間共享和/或分配物理資源)的系統(tǒng)環(huán) 境。運行在VM上的f個OS和任何其它軟件,被稱為"客戶"("guest")或 者"客戶軟件"("guest software"),而"主機"("host")或"主機軟件"("host software")是例如運行在虛擬化環(huán)境之外的VMM這樣的軟件。
信息處理系統(tǒng)中的物理處理器可以支持虛擬化,例如,通過支持虛擬化環(huán)境以在VM中的虛擬處理器(即,在VMM施加的約束下的物理 處理器)上運行客戶。在虛擬化環(huán)境中,某些事件、操作和情況,例如外部 中斷或訪問幹i午的寄存器或資源的嘗試,可能被截取(intercept),就是說,導(dǎo) 1Udl理器退出虛擬化環(huán)境,使得VMM可以才辦,以便例如實現(xiàn)虛擬化策略。 物理處理器還可支持其它的指令以維持虛擬化環(huán)嫂,并且可以包4舌指示或4空 制物理處理器的虛擬化能力的,器或寄存漆f立。
物理處理器還可以支掙'暫停^(pause)"指令以將^l插入指令流中。暫停 指令可以用在自旋循環(huán)(spin loop)中,來減慢循環(huán)的執(zhí)行以節(jié)省功率和/或阻
止處理器在每次才Mf循環(huán)時用相同的變量填充不同的負載緩沖器。處理器可
以被設(shè)計成由虛擬機來檢測暫停指令的執(zhí)行,并且使處理器退出所述虛扣財幾
并且使步同的虛擬機假設(shè)運行在第一個虛扣對幾中的客戶處在自旋循環(huán)中, 在該自旋循環(huán)期間,在第二個虛擬機中運行的客戶能夠更加有效的使用處理器資源)。

發(fā)明內(nèi)容
根據(jù)本發(fā)明的第一方面,提供了一種裝置,包括一下步驟:
檢測客戶是否正在處理器上執(zhí)行的自旋循環(huán);以及響應(yīng)去確定客戶正在執(zhí)行所述自旋循環(huán)而將對所述處理器的控制從客戶轉(zhuǎn)移道主機。
根據(jù)本發(fā)明的第二方面,提供了一種方法,包括以下步驟
檢測客戶是否正在處理器上執(zhí)行的自旋循環(huán);以及
響應(yīng)確定所去確定客戶正在執(zhí)行所述自旋循環(huán),而將對所述處理器的控制從 客戶絲到主機。
根據(jù)本發(fā)明的第三方面,提供了一種系統(tǒng),包括
處理器,包括
檢測邏輯,用于相應(yīng)所述檢測邏輯檢測自旋循環(huán);和虛擬化羅輯,用于響應(yīng)所述檢測邏輯檢測到所述客戶正在虛擬機上執(zhí)行的自旋循環(huán),而將對裝置的控制4戶轉(zhuǎn)移到主機;以及 器,用于賴控制所的數(shù)據(jù)結(jié)構(gòu)。


在附圖中,作為示例而非限制來圖解說明本發(fā)明。 圖1圖解說明了在虛擬化平臺中的本發(fā)明的一實施例。 圖2圖解說明了用于在虛擬機環(huán)境種檢測自循環(huán)的方法的本發(fā)明的 一實施例。M實施方式
如下所述,本發(fā)明可被包含在用于在虛擬才;LJ不境中檢測自旋循環(huán)的裝 置、方法或系統(tǒng)中。在該描述中,可能闡述了大量M細節(jié),例如部件和系 統(tǒng)配置,以便提供對本發(fā)明的比^X分的理解。但是,本領(lǐng)域的技"員會 理解到,本發(fā)明可以不在沒有這樣的*細節(jié)的條件下實施。jtw卜,沒有詳
細i兌明一些7/^口的結(jié)構(gòu)、電路等,以免不必要地影響對本發(fā)明的理解。
本發(fā)明的實施例提供對自旋循環(huán)的檢測,該枱r測將被用于改進支持虛擬 化的信息處理系統(tǒng)的性能。VMM可在第一虛扣對幾中的客戶空閑時,例如在在自循環(huán)期間,通過從第一虛擬機轉(zhuǎn)換出來并進入第二虛擬機來對處理器進行分時(time-share)。如背景技術(shù)中所描述的,基于客戶處在自旋循環(huán)中的假設(shè),當(dāng)客戶執(zhí)行暫停指令時進行VM轉(zhuǎn)換。但是,暫停指令還可以在自旋循環(huán)之外使用,例如插入延遲以等待輸A/輸出("I/0")^ft的完成。當(dāng)暫停指令 在自旋循環(huán)之外被客戶時,通過允許個客戶繼續(xù)使用處理器而不是花費時間來保存那個客戶的狀態(tài)并裝栽另一個客戶的狀態(tài)并且進行VM轉(zhuǎn)換, 可提高性能。因此,本發(fā)明的實施例提供了一種檢測自旋循環(huán)的新方法。
本發(fā)明實施例的要素可以^5更件、軟件、固件中或者以硬件、軟件或固 件的任意結(jié)合的形式來實現(xiàn)。術(shù)語"硬件"通常指具有諸如電子的、電磁的、 光學(xué)的、光電的、.機械的、機電部分等物理結(jié)構(gòu)的元件。術(shù)語"軟件"通常 指邏輯結(jié)構(gòu)、方法、過程、程序、例程、進程、算法、公式、表達式等。術(shù) 語固{憤常指邏輯結(jié)構(gòu)、方法、過程、程序、例程、進程、算法、公式或者在硬件結(jié)構(gòu)(例如,閃存或只讀賴器)中被實現(xiàn)或具體化的表達式。固件的 示例是微碼、可寫控制務(wù)賭器以及微編程結(jié)構(gòu)(micro-programmed structure)。 圖1圖解說明了在信息處理系統(tǒng)100中的本發(fā)明的一實施例。在圖1 中,棵平臺硬件(bare platform hardware)l 10可以是能夠^f亍4^f可OS 、 VMM
或其它這樣的軟件的^^r數(shù)據(jù)處^置。例如,棵平臺硬件可以是個人計算 機、大型機、便攜式電腦、手持設(shè)備、機頂盒、服務(wù)器或者任何其它計算系
統(tǒng)的數(shù)悟處理裝置。棵平臺硬件110包括處理器120和務(wù)賭器130。
處理器120可以任何類型的的處理器,包括通用目的孩狄理器,例如
Intd Pentium⑧處理器系列、Itanium⑧處理器系列或者其它來自Inte膨公司 的處理器系列中的處理器,或來自另一公司的另一種處理器,或者數(shù)字信號 處理器或者《鼓控制器。雖然圖1只示出了一個這樣的處理器120,但是棵平 臺硬件110可以包括任意數(shù)量的處理器,所i^t理器包括任意數(shù)量的多核處 理器,各具有任意數(shù)量的扭行核心,以及任意數(shù)量的多線程處理器,各具有 任意數(shù)量的錄。
存儲器130可以是靜態(tài)或動態(tài)隨才;u4:^賭器、基于半導(dǎo)體的只讀或閃 速存儲器、磁盤或光盤存儲器以及4封可其它類型的處理器120可讀介質(zhì)或這
些介質(zhì)的任意結(jié)合。處理器120和內(nèi)存130可以通過任何已知的途徑例如直
接或間接》條過一條或多條t、線、點對點或其它有線或無線連接斜目互M^
或W目通信。棵平臺硬件110還可以包括任意數(shù)量的附力pi殳備或連接。
除了棵平臺硬件IOO,圖l還圖解說明了 VMM140、 VM150和160、 客戶操作系統(tǒng)152和162以^Jl戶應(yīng)用程序154、 155、 164和165。
向客戶提供VM(即棵平臺硬件110的抽象)或者以其它方式創(chuàng)建VM、管理 VM以及實現(xiàn)虛擬化策略的4封可軟件、固件或硬件主機。在其它實施例中, ^i幾可以是能夠控制棵平臺硬件110的任何VMM,管理程序,OS或者其 它軟件、固件或硬件??蛻艨梢允荿f樹OS、 <封可VMM(包括VMM140的 另一實例)、 <壬何管理禾1^或者^^可應(yīng)用程序或其它軟件。
根據(jù)VM中提供的處理器和平臺的體系結(jié)構(gòu),每個客戶期望訪問棵平 臺硬件110的物理資源,例如處理器和平臺寄存器、,器和輸A/輸出設(shè)備。 圖1示出了兩個VM, 150和160,客戶OS 152以^Sjl戶應(yīng)用程序154和155 安絲VM 150上,客戶OS 162以All戶應(yīng)用禾J^禾I^ 164和165安絲 VM160上。雖然圖1只示出了兩個VM和每個VM的兩個應(yīng)用程序,但是 在4^發(fā)明的范圍內(nèi),可創(chuàng)建任意數(shù)量的VM,并JL^每個VM上可以i^ftf壬 意數(shù)量的應(yīng)用程序。
能夠 被客戶訪問的資源可被分類為"特許"或"非特許"的資源。對于特許 資源,VMM 140促進(facilitate)客戶所需的功能性,同時保留對資源的最終
控制。非特許資源不需要由VMM 140控制并且可由客戶直接訪問。
此外,每個客戶OS期望處理M事件,例如異常(例如,頁镅誤和一 般l"生保護4射吳(general protection fa流)),中斷(例如,硬件中斷和軟件中斷), 以及平臺事件(例如,初始化和系統(tǒng)管理中斷)。這些異常、中斷和平臺事件 在本文中統(tǒng)一且單獨地稱為"虛擬化^f牛"。這些虛擬化^f牛中的^^^皮稱 為"凈朽午事件",因為它們必須由VMM 140處理以確保VM 150和160的適 當(dāng)才辨,保護VMM140免受客戶影響,并且保護客戶以免X f目影響。
在^f可給定時間,處理器120可能正在l^f亍來自VMM140或其它任何 客戶的指令,因此VMM 140或客戶可能jti^f亍在處理器120上或在處理器 120的控制中。當(dāng)4朽午^f牛發(fā)生或者客戶試圖訪問凈朽午資源時,控制/膝戶 孝g多到VMM140。本文中,^^戶到VMM140的控制壽^多被稱為"VM退 出"。在處理該^f?;蛘哌m當(dāng)?shù)豝i^于該資源的訪問^, VMM140可以將 控制返回給客戶。本文中,從VMM 140到客戶的控制4封多被稱作"VM登錄"。
在圖1的實施例中,處理器120根據(jù)存儲在虛擬機控制結(jié)構(gòu) ("VMCS")132中的數(shù)據(jù)4M空制VM150和160的操作。VMCS 132是一種結(jié) 構(gòu),該結(jié)構(gòu)可包^"個客戶或多個客戶的狀態(tài),VMM 140的狀態(tài),指示 VMM 140X可控制一個客戶或多個客戶的操作的扭/f刊空制信息,關(guān)于VM 退出和VM登錄的信息,以及其它任何這樣的信息。處理器120從VMCS 132 讀取信息以確定VM的扭行環(huán)境并且約束它的行為。在該實施例中,VMCS 132存儲#賭器130中。在某些實施例中,多個VMCS用于支持多VM。 雖然圖1示出了 VMCS 132^#^#器130中,4旦^:將VMCS4^絲 儲器中可能不是本發(fā)明所必需的。
處理器120可以包括執(zhí)行單元122來執(zhí)行包括暫停指令在內(nèi)的指令。暫 停指令可以是將延遲插入指令流中的任何指令。處理器120還包括時間戳計 算器("TSC")124來計算處理器時鐘周期,或者以其它方式測量經(jīng)過的時間。 在其它實施例中,可以使用其它測量經(jīng)過的時間的方法。此外,處理器120包括控制邏輯170來支持虛擬化??刂七壿?70可以 包括微碼,可編禾liE輯,硬編碼邏輯,或者處理器120中的任何其它形式的
控制邏輯。在其它實施例中,控制邏輯170可通過處理器中或者處理器可訪 問的任何部件或者可讀介質(zhì)(例如務(wù)賭器130)中的硬件、軟件或固件(例如, 處理器抽象層)的任何形式來實現(xiàn)。
控制邏輯170使處理器120執(zhí)行本發(fā)明的方法實施例,例如下面在圖2 中圖解說明的方法實施例,例如,通過使處理器120將例如支持虛擬化的一 個或多個《數(shù)操作的執(zhí)行包括在該處理器對來自主枳和客戶的虛擬化指令或 其它指令的響應(yīng)中。例如,如下面在方法200的描述中所述的,;^則邏輯180 的操怍和自旋循環(huán)的檢測可以在響應(yīng)暫停指令而執(zhí)行的微碼中被實現(xiàn)。
控制邏輯170包括虛擬邏輯172和檢測邏輯180。虛擬邏輯172將準(zhǔn)備并執(zhí)行VM登錄和退出。如下面在方法200的描述中所述的,檢測邏輯
180通過檢測自旋循環(huán)簽名(signature)檢測自旋循環(huán)的執(zhí)行。這些邏輯單元 的[個還可以扭行附加的功能,包括所述的那些由另一個邏輯單功能,并JH封可或所有這些邏輯單元可被城在單個邏4樣元中。
在一個實施例中,檢測邏輯180可以追蹤兩個值(第一暫停和最后暫停) 來幫助自旋循環(huán)的檢測。這些值可以存儲在檢測邏輯180、存儲器130內(nèi) 的存儲位置中,或者在處理器120可訪問的任何其它存儲位置中。保持第一 暫停的值以指示自旋循環(huán)中第一暫停指令第一次執(zhí)行時的TSC值。保持最 后暫停的值以指示同一個自旋循環(huán)中的暫停指令被執(zhí)行的最近時間的TSC 值。對于這些值的追蹤和^#在以下對方法200的描述中進4刊笛述。
控制邏輯170可以檢查或以其它方式參考在VMCS 132中的字段、指 示符、位或者其它數(shù)據(jù)結(jié)構(gòu)來確定如何管理VM環(huán)境。例如,如果客戶執(zhí)行 暫停指令,則暫停-退出控制位133可被設(shè)置成導(dǎo)致VM退出。M該實施 例的描述中,控制位被設(shè)置成實現(xiàn)或?qū)е孪胍男Ч?,其中,設(shè)置:t^木著向 該位寫邏輯1 ,而在本發(fā)明范圍內(nèi)^f可邏輯慣例或術(shù)語都可使用。
還是在VMCS 132中,如果檢測邏輯180檢測到客戶正在執(zhí)行的自旋循 環(huán),則暫停-循環(huán)-退出控制位134可被設(shè)置成導(dǎo)致VM退出。當(dāng)暫停-循 環(huán)-退出控制位124被"Ri時,暫停-退出控制位133可以被忽略, 以便允許本發(fā)明的新方法替代(OVERRIDE)現(xiàn)有的響應(yīng)客戶執(zhí)行的每個暫停指令而導(dǎo)
致的VM退出的方法。同樣,如果需要,當(dāng)暫停-環(huán)-退出控制位134未被
暫停-間隙字羊殳136可用于,由TSC 124測量的表示時間段的值, 在該時間段內(nèi)自旋循環(huán)的一次迭^pEt常會;f皮^^亍。暫停 - 窗口字段138可用 于^f諸由TSC 124測量的表示在VM退出發(fā)生之前客戶自旋循 環(huán)的時間段的值。
VMCS 132還可包括,關(guān)于VM退出的信息的字段,以在VM退出 ^當(dāng)VMM接)RJ1]控制時,幫助VMM確定要釆取的合適4詢。例如, VMCS132包括指示VM退出的原因的退出-原因字段135。
圖2圖解說明了方法200(—種用于在虛扣對;U^竟中檢測自旋循環(huán)的方 法)中的本發(fā)明的一實施例。雖然方法實施例在不限于此方面,但是參照圖1 的信息處理系統(tǒng)100勤笛述圖2的方法的實施例。
在圖2的框210中,VMM(例如,VMM140)為VM(例如,VM 150W'J 建VMCS(例如,VMCS 132)。在框212中,如^^僉測邏輯180;^則到自旋 循環(huán),則VMM 140設(shè)置暫停-循環(huán)-退出控制位134以便導(dǎo)致從VM 150 的VM退出。在框214中,如上所述,VMM140在暫停-間隙字段136中 ,暫停 - 間隙值。在框216中,如上所述,VMM 140在暫停-窗口字段 138中賴暫停-窗口值。
在框220中,發(fā)起/A^才;K例如,VMM140)到客戶的處理器120的控制 轉(zhuǎn)移??刂频霓D(zhuǎn)移或VM登錄,可包4封吏處理器120扭^#^或微操作以保 存主機狀態(tài)并加^^戶狀態(tài)的虛擬化邏輯172。在框222中,將第一暫停和 :l^暫停的值設(shè)置成VM登錄時的TSC值。在框224中,完成VM登錄。
在框230中,客戶開始或繼續(xù)執(zhí)行指令。在框232中,^^暫停指令的 ^/f亍。在框234中,當(dāng)前的TSC值被,。
在框240中,確定來自框234的TSC值和絲暫停值的差是否大于暫 停間隙的值。如果是,即應(yīng)當(dāng)是自旋循環(huán)的第一次迭代并且是自旋循環(huán)夕卜的 暫停指令的情況,那么,在框242中,框232的TSC值被^^ft在第一暫停 和絲暫停中,并且方法200返回到框230。如^是,即應(yīng)當(dāng)是自旋循環(huán)
后續(xù)的迭代的情況,那么,在框250中,確定來自234的TSC值和第一暫 停的值的差是否大于暫停窗口的值。
如果框250中判定的結(jié)果是否定的,即應(yīng)當(dāng)是客戶還沒有在^y亍比所允
許的更長的自旋循環(huán)的情況,那么,在框252中,來自框232的TSC值被 ^^在m暫停中,并且方法200返回到框230。如果框250中判定的結(jié)果 是肯定的,即應(yīng)當(dāng)是客戶已經(jīng)在^/f亍比所允許的更長的自旋循環(huán)的情況,那 么方法200在框260中繼續(xù)。
在框260中,^^v^4^戶到主機的控制轉(zhuǎn)移??刂?^f多或VM退出可 包括使處理器120扭^t剁乍或微操作以保存客戶狀態(tài)并加載主機狀態(tài)的虛擬 ^il輯172。在框262中,虛擬^il輯172在退出-原因字段235中^f諸表 示暫停指令的執(zhí)行的值,或者其它所需的值,例如表示自旋循環(huán)的檢測的值。 在框264中,完成VM退出。
在本發(fā)明的范圍內(nèi),圖2所示的方法可按不同的順序、通it^略所示的 框、添加附加的框,或者以重新排序、省略或增加框的結(jié)合,來執(zhí)行。
jM^卜,在本發(fā)明范圍內(nèi),其它基于自旋循環(huán)簽名^m企測自旋循環(huán)的方法 是可行的。在基于指令指針的實施例中,與暫停指令相關(guān)聯(lián)的指令指針可以 被,,并且然后和與后續(xù)暫停指令相關(guān)聯(lián)的指令指4討目比較,以確定指令 指針是否是相同的,這將表明正在^w亍暫停循環(huán)。在基于控制流的實施例中, ^^戶執(zhí)行中的特定轉(zhuǎn)換,例如4h午m地址空間的改變,或者指令指針的 改變大于某個值,可^^示不在^Vf亍暫停循環(huán)。在基于頻率的實施例中,在 特定時間段中的暫停指令的數(shù)量將被計算,并且如果所述數(shù)量超過了某個 值,所述某個值可以是^^一的數(shù)(即,兩個暫停指令在該時間段中被才w亍), 它可以表明絲#1^亍自旋循環(huán),或者l^亍了超it^斤允許的時間。
根據(jù)本發(fā)明的一實施例設(shè)計的處理器120,或者4封可其它的部件或者部 件的組成部分,可在M階段中設(shè)計,從創(chuàng)建到才對以(simulation)到制作。表 ^i殳計的數(shù)據(jù)可能以多種方式表示該設(shè)計。首先,如在才對以時有用的,可以 "fM硬件描述語言或另一功f^翁述語言^^示硬件。作為附加或^^選的方 案,在設(shè)計過程的某些階段,可以產(chǎn)生具有邏輯和/或晶體管門電路的電路級
模型。jtW卜,在某階段,大多數(shù)設(shè)計達到可以用表示^ft設(shè)備的物理布置的 數(shù)據(jù)來建才莫的級別。在^H]傳統(tǒng)的半導(dǎo)體制造技術(shù)的情況下,表示設(shè)備布置 模型的數(shù)據(jù)可以是指定在用于生產(chǎn)集成電路的掩模的不同掩模層上各種特 寸±#在或不存在的數(shù)據(jù)。
在本設(shè)計的<射可表示中,數(shù)據(jù)可^#在^^可形式的機器可讀介質(zhì)中。經(jīng) 調(diào)制或以其它方式生成以發(fā)i^il樣的信息的光或電波,務(wù)賭器,或者磁或光 ^il介質(zhì),例如磁盤,可以是機器可讀介質(zhì)。這些介質(zhì)中的^f可一個可以"攜 帶"或"指示"該設(shè)計,或者本發(fā)明的一實施例中^JD的其它信息。當(dāng)指示或 攜帶信息的電載波纟嫂送,到#1#復(fù)制、緩沖、或者重傳電信號的程度時, 產(chǎn)生新的副本。因此,通信提供商或者網(wǎng)絡(luò)提供商的行為可能構(gòu)成制造包含 本發(fā)明技術(shù)的產(chǎn)品的副本,例如,載波。
這樣,公開了用于在虛擬機環(huán)境中檢測自旋循環(huán)的裝置、方法和 系統(tǒng)。當(dāng)在附圖中描迷并示出某些實施例時,應(yīng)當(dāng)理解,這樣的實施 例只是解釋性的而不是對寬泛的發(fā)明的限制,并且本發(fā)明不限于所示 或所描述的具體構(gòu)造和設(shè)置,因為在研究本公開后,本領(lǐng)域的技術(shù)人 員可對本發(fā)明進行各種其它修改。在發(fā)展迅速且不易預(yù)見未來發(fā)展的 技術(shù)領(lǐng)域,例如本發(fā)明的技術(shù)領(lǐng)域中,可在不背離本公開的原理和所 附權(quán)利要求的范圍的前提下,通過實現(xiàn)技術(shù)進步的推動,所公開的實 施例可易于在設(shè)置和細節(jié)方面進行修改。
權(quán)利要求
1、一種裝置,包括 檢測邏輯,用于檢測客戶是否正在執(zhí)行自旋循環(huán);以及 虛擬化邏輯,用于響應(yīng)檢測邏輯檢測到所述客戶正在執(zhí)行所述自旋循環(huán)而將時所述裝置的控制從所述客戶轉(zhuǎn)移到主機。
2、 如權(quán)利要求1所述的裝置,其中,所述檢測邏輯基于兩個暫停指令 的執(zhí)行之間的關(guān)系^f企測所iijl戶是否正在才;W亍所述自旋循環(huán)。
3、 如權(quán)利要求l所述的裝置,其中,所述檢測邏輯基于兩個暫停指令 的^^f亍之間的時間段與閾值的tb^, 4Mt測所ii^戶是否正在才W亍所述自旋 循環(huán)。
4、 如權(quán)利要求3所述的裝置,還包括,所述檢測邏輯用來測量兩個暫 停指令的^Vf亍之間的所述時間段的時間戳計算器。
5、 如權(quán)利要求l所述的裝置,其中,所述#^則邏輯基于兩個暫停指令 的指4^旨4十的比4交,^^測客戶是否正在執(zhí)行自旋循環(huán)。
6、 如權(quán)利要求l所述的裝置,其中,所述檢測邏輯基于控制流改變來 ^r測客戶是否正在IA/f亍自旋循環(huán)。
7、 如權(quán)利要求1所述的裝置,其中,所述檢測邏輯基于在某個時間段 內(nèi)的暫4亭指令的i談,來檢測客戶是否正在執(zhí)行自旋循環(huán)。
8、 如權(quán)利要求l所述的裝置,其中,所述虛擬化邏輯響應(yīng)所述檢測邏 輯檢測到所述客戶已在執(zhí)行比所允許的時間段更長的自旋循環(huán),而將對所述 裝置的控制從所述客戶轉(zhuǎn)移到主機。
9、 一種方法,包括以下步驟檢測客戶是否正在處理器上才丸行的自旋循環(huán);以及 響應(yīng)確定所述客戶正在執(zhí)行所述自旋循環(huán),而將對所述處理器的控制從 客戶樹多到主機。
10、 如權(quán)利要求9所述的方法,其中,檢測所述客戶是否正在執(zhí)行所述 自旋循環(huán)的步驟包括檢測兩個暫停指令的 執(zhí)行之間的關(guān)系。
11、 如權(quán)利要求9所述的方法,其中,才^;則所^Ji戶是否正在^u亍所述自旋循環(huán)的步驟包括tb4交兩個暫停指令的扭行之間的時間段與閾值。
12、 如權(quán)利要求9所述的方法,其中,枱溯所i^j:戶是否正在"^f亍所述自旋循環(huán)的步驟包括比較兩個暫停指令的指令指針。
13、 如權(quán)利要求9所述的方法,其中,枱3則所^l戶是否正在執(zhí)行所述 自旋循環(huán)的步驟包括沖^測控制流改變。
14、 如權(quán)利要求9所述的方法,其中,檢測所述客戶是否正在執(zhí)行所述 自旋循環(huán)的步驟包括計算某個時間段內(nèi)的暫停指令的數(shù)量。
15、 如權(quán)利要求9所述的方法,其中,響應(yīng)確定客戶正在執(zhí)行所述自旋 循環(huán)而將對處理器的控制4戶轉(zhuǎn)移到主機的步驟包括響應(yīng)確定所iill戶 已在執(zhí)行比所允許的時間段長的自旋循環(huán)而轉(zhuǎn)移控制。
16、 一種系統(tǒng),包括 處理器,包括檢測邏輯,用于檢測客戶是否錄才W亍自旋循環(huán);和 虛擬^il輯,用于響應(yīng)所述檢測邏輯檢測到所述客戶正在虛"l財幾上執(zhí)行 的自旋循環(huán),而將對裝置的控制/All戶轉(zhuǎn)移到主機;以及 ,器,用于^ft控制所述虛^4幾的數(shù)據(jù)結(jié)構(gòu)。
17、 如權(quán)利要求16所述的系統(tǒng),其中,所i4i^f諸器^^表示時間段的 值,在所述時間段內(nèi),可^f亍所述自旋循環(huán)的一次迭代,以^/斤述^^則邏輯 用所述值^r測所述自旋循環(huán)的第一次迭代。
18、 如權(quán)利要求16所述的系統(tǒng),其中,所述^f諸器^f諸某^H直,該值 表示在所述虛擬化邏輯轉(zhuǎn)移控制之前,所述自旋循環(huán)^^L許執(zhí)行的最大時 間。
19、 如權(quán)利要求16所述的系統(tǒng),其中,所述檢測邏輯基于自旋循環(huán)洛 名^^測所i^Jl戶是否正在執(zhí)行自旋循環(huán)。
20、 如權(quán)利要求16所述的系統(tǒng),其中,所述自旋循^^名包括兩個暫 4f指令的^ie之間的關(guān)系。
全文摘要
本發(fā)明的名稱是“在虛擬機環(huán)境中檢測自旋循環(huán)”。公開了在虛擬機環(huán)境中檢測自旋循環(huán)的裝置、方法和系統(tǒng)的實施例。在一個實施例中,裝置包括檢測邏輯和虛擬化邏輯。檢測邏輯用于檢測客戶是否正在執(zhí)行自旋循環(huán)。虛擬化邏輯用于響應(yīng)檢測邏輯檢測到客戶正在執(zhí)行自旋循環(huán),而將對裝置的控制從客戶轉(zhuǎn)移到主機。
文檔編號G06F9/30GK101364184SQ20081010038
公開日2009年2月11日 申請日期2008年3月28日 優(yōu)先權(quán)日2007年3月30日
發(fā)明者A·V·安德森, G·奈格爾, G·格爾宗, J·B·克羅斯蘭德, L·K·普蒂耶達思, R·L·坎貝爾, S·A·費希爾, S·M·貝內(nèi)特 申請人:英特爾公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1