JP5180373B2 - 仮想化環境における割り込みメッセージ終了のレイジー処理 - Google Patents
仮想化環境における割り込みメッセージ終了のレイジー処理 Download PDFInfo
- Publication number
- JP5180373B2 JP5180373B2 JP2011516674A JP2011516674A JP5180373B2 JP 5180373 B2 JP5180373 B2 JP 5180373B2 JP 2011516674 A JP2011516674 A JP 2011516674A JP 2011516674 A JP2011516674 A JP 2011516674A JP 5180373 B2 JP5180373 B2 JP 5180373B2
- Authority
- JP
- Japan
- Prior art keywords
- interrupt
- eoi
- hypervisor
- virtual
- apic
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000012545 processing Methods 0.000 title claims description 32
- 230000015654 memory Effects 0.000 claims description 63
- 238000000034 method Methods 0.000 claims description 56
- 230000008569 process Effects 0.000 claims description 35
- 230000001960 triggered effect Effects 0.000 claims description 19
- 101100016034 Nicotiana tabacum APIC gene Proteins 0.000 claims description 5
- 230000004044 response Effects 0.000 claims description 5
- 230000001934 delay Effects 0.000 claims description 4
- 239000013598 vector Substances 0.000 description 11
- 238000004891 communication Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 206010051602 Laziness Diseases 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45583—Memory management, e.g. access or allocation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/542—Intercept
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Stored Programmes (AREA)
- Debugging And Monitoring (AREA)
Description
以下の説明は、EOIメッセージをゲストOSからI/O APIC仮想化モジュールへレイジーに通信できる技法を目標とする。上記の技法は、不必要にハイパーバイザにEOI通信をトラップおよびインターセプトさせることなく、ゲストOSが、割り込み要求を正確により効果的に処理することを可能にする。上記の技法は、共有メモリページを利用して、ハイパーバイザとゲストOSとの間の通信を容易にすることができる。共有メモリページを使用して、ハイパーバイザは、EOIを即時にハイパーバイザに伝送しなければならないときに、または代替としてEOIをハイパーバイザによりレイジーに検索することができるときにゲストOSと通信できる。さらに、ハイパーバイザがEOIにレイジー処理をすることを示したときに、およびゲストOSを実行している仮想化CPUがEOIを発行するときに、ゲストOSは、共有メモリを使用してEOIが発生したことを示すことができる。ハイパーバイザは、他の理由で実行している間に上記の表示をチェックすることができて、EOIの即時の送信をトラップおよびインターセプトするコストを節約する。
以下の説明は、例示的な仮想動作環境を説明して、読み手が、技法の種々の側面を用いることができるいくつかの方法を理解するのを支援する。以下に説明される環境は、一例を構成するだけであり、技法の応用をあらゆる1つの特定の動作環境に制限することは意図しない。他の環境を、主張される主題の精神および範囲から逸脱することなく使用できる。
図2は、例示的なI/O APIC環境200を示す。ハイパーバイザ202は、物理コンピューターハードウェアの上に実行して、仮想CPU206上にゲストOS204の実行を可能にする。仮想I/O APIC208は、多数のピン210(a)、210(b)、・・・、210(n)を表し、これらは、仮想シリアルポート232および仮想ネットワークカード234等のハードウェアデバイスに接続させることができる。ゲストOS204は、各ハードウェアデバイスにプライオリティ、すなわちベクタ、を割り当てることができる。一実施例において、仮想I/O APIC208は、255本のピンを有することができ、ゲストOSは、0(最低のプライオリティ)から255(最高のプライオリティ)までのプライオリティをハードウェアデバイスに割り当てることができる。一実施形態において、仮想シリアルポート232には、プライオリティ0が割り当てられ、一方、仮想ネットワークカード234にはプライオリティ3が割り当てられている。
図3は、いつインターセプトを生成してEOIを処理すべきか、およびいつEOIにレイジー処理をすべきかを決定するための例示的なプロセスを示す。プロセス300は、動作302が割り込み要求を、例えば仮想ネットワークカード234等、仮想ハードウェアデバイスから受信するときに開始される。動作304にて、その間、割り込みが仮想CPU206に送信され処理される。一実施形態において、受信された割り込みは、仮想I/O APIC208において現在単にペンディングしているだけの割り込みであり、一方、仮想CPU206によって現在処理されている割り込みは無い。動作306にて、その間、仮想CPU206が、EOIを生成して、そのEOIをゲストOS204に送信する。動作308にて、ゲストOS204は、共有ページ218を読み込むことにより、NoEOIRequiredビットが1に設定されたかどうかを決定する。設定されたと決定される場合、ゲストOSは、共有メモリ218にEOIOccurredビットを設定することにより応答する。その後、ハイパーバイザ202が何らかの他の理由で実行しているとき、ハイパーバイザ202は、共有ページ218を読み込み、EOIが発生したと決定することができる。一実施例において、I/O APIC仮想化モジュール154は、仮想I/O APIC203のISRから動作302にて受信される割り込みに関連するビットをクリアすることにより、EOIの発生を処理する。一方、NoEOIRequiredビットがクリアされるか、または設定されていないと、ゲストOS204がEOIを生成し、ハイパーバイザ202にEOIをインターセプトさせて、それを即時に処理させる。
図6は、仮想CPU128により生成されるEOIが、ハイパーバイザ112に直に通信されて、レイジーに更新されない一条件を示す例示的なプロセス600を説明する。プロセス600は、動作602にて、仮想I/O APIC142における第1のプライオリティを有する第1の割り込みの受信と共に、開始される。仮想I/O APIC142は、ハイパーバイザ112またはルートOS106によりソフトウェアでエミュレートでき、実行のためにゲストOS108に対して明らかにされるだけであることに留意すべきである。動作604にて、第1の割り込みが、仮想化されたCPU128に投入される。動作606にて、その間、仮想I/O APIC142が、第1の割り込みより低いプライオリティを有する第2の割り込みを受信することができ、第2の割り込みは、第1の割り込みが仮想CPU128により処理されている間に受信される。動作608にて、その間、ハイパーバイザ112が、共有ページ152に記憶されるNoEOIRequiredフラグをクリアすることができる。NoEOIRequiredフラグをクリアすることは、ゲストOS108に対して、ゲストOS108がEOIをハイパーバイザに送信すべきであることを示し、仮想CPU128が割り込みの処理を完了するとすぐにインターセプトを生成する。EOIは、送信より低いプライオリティの割り込みがI/O APIC仮想化モジュール154においてEOIを受信すると投入されるだけであるので、即時に送信されるべきである。仮想I/O APIC142をこのシナリオにおいてレイジーに更新することは、より低いプライオリティの割り込みの処理を不必要に遅延させる。動作610にて、その間、I/O APIC仮想化モジュール154が、第1の割り込みが完了するときに生成されるEOIを受信する。一実施例において、仮想I/O APIC142は、第1の割り込みに関連するISRビットをクリアすることができ、割り込みが処理を終了したことが記録される。動作612にて、その間、仮想I/O APIC142が、EOIの受信に応答して第2の割り込みを仮想化されたCPU128に投入することができる。動作614にて、その間、ハイパーバイザ112は、もはやペンディング中の割り込みが無いため、NoEOIRequiredビットを1に設定することができる。
図9は、例示的なエッジトリガーおよびレベルトリガーの割り込み900を示す。一実施例において、エッジトリガー割り込み902は、ハードディスクドライブ124等のハードウェアデバイスから仮想I/O APIC142等の仮想I/O APICに送信される。一実施例において、別のエッジトリガー割り込み904が、同じラインに送信され、エッジオーバーラップ906を引き起こす。仮想I/O APIC142に対してラインが一貫してアサートされるため、仮想I/O APIC142は、重なっているエッジトリガー割り込み902と904を1つのエッジトリガー割り込みとみなす。
主題を、構造的特徴および/または方法的動作に特有の言語において説明したが、添付の特許請求の範囲に定義される主題が必ずしも上述の特有の特徴または動作に制限されないことを理解すべきである。むしろ、上述の特有の特徴および動作を、特許請求の範囲を実装する例示的な形として開示する。
Claims (18)
- コンピューター実行可能命令を記憶する1つまたは複数のコンピューター可読記憶媒体であって、前記命令が、1つまたは複数のプロセッサ上で実行されると、
ハイパーバイザ上で動作するゲストオペレーティングシステムの仮想APICが、前記ハイパーバイザから第1の割り込みサービス要求を受信することと、
前記仮想APICが、前記第1の割り込みサービス要求を前記ハイパーバイザ上で動作するゲストオペレーティングシステムを実行する仮想CPUに送信すること、
仮想APICが、EOIを前記ハイパーバイザに即時に送信すべきかレイジーに送信することが可能かを判定することであって、前記判定することは、
前記仮想APICが、前記第1の割り込みサービス要求と同時に、第2の割り込みサービス要求を受信する場合、
前記仮想APICが、前記第1の割り込みサービス要求を受信した後に、第3の割り込みサービス要求を受信する場合、又は、
前記仮想APICが受信した前記第1の割り込みサービス要求が、レベルトリガー割り込みの割り込みサービス要求である場合、
に、前記EOIを前記ハイパーバイザに即時に送信すべきと判定することと、
前記仮想APICが、前記第1、第2又は第3の割り込みサービス要求に対するEOIのACKを、前記仮想CPUから受信することと、
EOIを前記ハイパーバイザにレイジーに送信することができると判断した場合、前記仮想APICが、前記ハイパーバイザと共有されるメモリに前記EOIをレイジーに送信することが可能であることを示す値を書き込むこと、
EOIを前記ハイパーバイザに即時に送信すべきと判断した場合、前記仮想APICが、前記EOIを前記ハイパーバイザに送信することと
を含む動作を実行することを特徴とするコンピューター可読記憶媒体。 - メモリに書き込まれる前記値が1ビットから成ることを特徴とする請求項1に記載の1つまたは複数のコンピューター可読記憶媒体。
- 前記ハイパーバイザに前記EOIを送信することが、メモリマップI/Oページに書き込むことを含み、前記ハイパーバイザ内で実行するI/O APIC仮想化モジュールが前記メモリマップI/Oページへの前記書き込みをトラップすることを特徴とする請求項1に記載の1つまたは複数のコンピューター可読記憶媒体。
- 前記ハイパーバイザと共有される前記メモリが、ゲストオペレーティングシステムの仮想メモリのページおよびハイパーバイザの仮想メモリのページに同時にマッピングされる物理メモリのページを含むことを特徴とする請求項1に記載の1つまたは複数のコンピューター可読記憶媒体。
- 前記メモリに値を書き込むことは、前記EOIの処理の遅延を可能にすることを特徴とする請求項1に記載の1つまたは複数のコンピューター可読記憶媒体。
- 処理の基準が満たされるかどうかを決定することは、前記EOIが共有メモリからレイジー処理をされうるかどうかを示す値を読み込むことをさらに含むことを特徴とする請求項1に記載の1つまたは複数のコンピューター可読記憶媒体。
- 前記共有メモリは、前記ハイパーバイザと共有されて、前記ハイパーバイザは、
前記第3の割り込みサービス要求の割り込みが、前記第1の割り込みのプライオリティより低いプライオリティを含んでいるとき、及び、
前記仮想CPUが前記第1の割り込みサービス要求の割り込みを処理しているとき、
EOIを即時に送信すべきことを前記共有メモリにおいて示すことを特徴とする請求項6に記載の1つまたは複数のコンピューター可読記憶媒体。 - 前記共有メモリは前記ハイパーバイザと共有されて、前記ハイパーバイザは、
前記第2の割り込みサービス要求の割り込みが、前記第1の割り込みのプライオリティより高いプライオリティを含んでいるとき、および、
前記仮想CPUが前記第2の割り込みサービス要求の割り込みを優先的に処理して、前記第1の割り込みの処理を遅延するとき、
EOIを即時に送信すべきことを前記共有メモリにおいて示すことを特徴とする請求項6に記載の1つまたは複数のコンピューター可読記憶媒体。 - ハイパーバイザ上で動作するゲストオペレーティングシステムの仮想APICが割り込みサービス要求を受信するステップと、
前記仮想APICが、前記第1の割り込みサービス要求を前記ハイパーバイザ上で動作するゲストオペレーティングシステムを実行する仮想CPUに送信するステップと、
前記仮想APICが、EOIを前記ハイパーバイザに即時に送信すべきかレイジー処理をすることが可能かどうかを判定するステップであって、
仮想APICが、前記EOIを前記ハイパーバイザに即時に送信すべきかレイジーに送信することが可能かを判定することであって、前記判定することは、
前記仮想APICが、前記第1の割り込みサービス要求と同時に、第2の割り込みサービス要求を前記ハイパーバイザから受信する場合、
前記仮想APICが、前記第1の割り込みサービス要求を受信した後に、第3の割り込みサービス要求を受信する場合、又は、
前記仮想APICが受信した前記第1の割り込みサービス要求が、レベルトリガー割り込みの割り込みサービス要求である場合、
に、前記EOIを前記ハイパーバイザに即時に送信すべきと判定することと、
前記仮想APICが、前記第1、第2又は第3の割り込みサービス要求に対するEOIのACKを、前記仮想CPUから受信する、ステップと、
前記仮想APICが、前記第1、第2又は第3の割り込みサービス要求に対するEOIのACKを、前記仮想CPUから受信するステップと、前記仮想APICがEOIのACKにレイジー処理をすることできると判断したとき、前記ゲストオペレーティングシステムと共有されるメモリに前記EOIをレイジーに処理することが可能であることを示す値を設定して、前記ゲストオペレーティングシステムがEOIにレイジー処理をすることができることを示すステップと、
前記仮想APICが前記EOIを即時に送信すべきと判断したとき、前記ゲストOSとハイパーバイザとの間で共有されるメモリに前記EOIを即時に送信すべきことを示す値を設定して、前記ゲストオペレーティングシステムが前記EOIを即時に送信すべきことを示すステップと
を備えたことを特徴とする方法。 - 前記ゲストオペレーティングシステムは、
前記第2の割り込みが、前記第1の割り込みのプライオリティより低いプライオリティを含んでいるとき、及び、
前記仮想CPUが前記第1の割り込みを処理しているとき、
EOIを即時に送信するよう構成されることを特徴とする請求項9に記載の方法。 - 前記ゲストオペレーティングシステムは、
前記第2の割り込みが、前記第1の割り込みのプライオリティより高いプライオリティを含んでいるとき、及び、
前記仮想CPUが前記第2の割り込みを優先的に処理して前記第1の割り込みの処理を遅延するとき、
EOIを即時に送信するよう構成されることを特徴とする請求項9に記載の方法。 - 前記ゲストオペレーティングシステムは、前記割り込みが単に処理されているだけの割り込みであるとき、EOIのACKにレイジー処理をすることができることを特徴とする請求項9に記載の方法。
- ハイパーバイザが、前記ゲストオペレーティングシステムからEOIを直接受信するステップをさらに含むことを特徴とする請求項9に記載の方法。
- 前記ゲストオペレーティングシステムと共有されるメモリに記憶される、EOIが発生したかどうかを示す値を検索するステップであって、前記値はEOIに応答すること以外で検索される、ステップをさらに含むことを特徴とする請求項9に記載の方法。
- メモリ・インターセプト・モジュールがメモリのページに組み込まれて、前記メモリのページは、物理APICと通信する前記仮想CPUにより使用されるメモリマップI/Oページを含むことを特徴とする請求項9に記載の方法。
- 1つまたは複数のプロセッサと、
前記1つまたは複数のプロセッサによりアクセス可能なメモリと、
メモリ内に記憶されるハイパーバイザであって、前記1つまたは複数のプロセッサ上、
割り込みを受信することと、
EOIを前記ハイパーバイザに即時に送信すべきかレイジーに送信することが可能かどうかを判定することであって、前記判定することは、
前記第1の割り込みと同時に、第2の割り込みを受信する場合、
前記第1の割り込みを受信した後に、第3の割り込みを受信する場合、又は、
前記第1の割り込みが、レベルトリガー割り込みである場合、
に、前記EOIを前記ハイパーバイザに即時に送信すべきと判定することと、
前記EOIを前記ハイパーバイザにレイジーに送信することができると判断した場合に、前記EOIをレイジーに送信することが可能であるということを示す値を共有メモリに設定することと、
前記EOIを前記ハイパーバイザに即時に送信すべきと判断した場合、前記割り込みの処理を完了すると前記EOIを前記ハイパーバイザに転送しなければならないことを示す値を共有メモリに設定することと、
前記割り込みを、前記ハイパーバイザ上で動作する前記ゲストオペレーティングシステムを実行する仮想CPUに送信することと
が実行可能なハイパーバイザと、
メモリに記憶される前記ゲストオペレーティングシステムの仮想APICであって、前記1つまたは複数のプロセッサ上、
前記第1、第2又は第3の割り込みが実行されたことを示す前記EOIを前記仮想CPUから受信することと、
前記ハイパーバイザが前記EOIを前記ハイパーバイザに即時に送信すべきと判断した場合、前記EOIを前記ハイパーバイザに送信することと、
前記ハイパーバイザが前記EOIを前記ハイパーバイザにレイジーに送信することができると判断した場合、前記EOIが発生したことを示す値を前記共有メモリに設定して、前記ハイパーバイザに、後に前記EOIに応答することを可能にすることと
が実行可能な仮想APICと
を備えたコンピューターシステム。 - 前記割り込みに対するEOIのACKを、
前記第1の割り込みがレベルトリガー割り込みでなく、単にアクティブな割り込みであるとき、レイジーに評価することができることを特徴とする請求項16に記載のコンピューターシステム。 - 前記第1、第2又は第3の割り込みは、自己割り込みであり、前記ハイパーバイザは、前記自己割り込みを前記仮想CPUに関連する仮想ローカルAPICに通信することを特徴とする請求項16に記載のコンピューターシステム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/163,891 US8032680B2 (en) | 2008-06-27 | 2008-06-27 | Lazy handling of end of interrupt messages in a virtualized environment |
US12/163,891 | 2008-06-27 | ||
PCT/US2009/048707 WO2009158528A2 (en) | 2008-06-27 | 2009-06-25 | Lazy handling of end of interrupt messages in a virtualized environment |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2011526390A JP2011526390A (ja) | 2011-10-06 |
JP2011526390A5 JP2011526390A5 (ja) | 2012-03-22 |
JP5180373B2 true JP5180373B2 (ja) | 2013-04-10 |
Family
ID=41445306
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011516674A Active JP5180373B2 (ja) | 2008-06-27 | 2009-06-25 | 仮想化環境における割り込みメッセージ終了のレイジー処理 |
Country Status (6)
Country | Link |
---|---|
US (2) | US8032680B2 (ja) |
EP (1) | EP2316069B1 (ja) |
JP (1) | JP5180373B2 (ja) |
CN (1) | CN102067083B (ja) |
TW (1) | TWI442322B (ja) |
WO (1) | WO2009158528A2 (ja) |
Families Citing this family (53)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8984199B2 (en) * | 2003-07-31 | 2015-03-17 | Intel Corporation | Inter-processor interrupts |
US8032680B2 (en) | 2008-06-27 | 2011-10-04 | Microsoft Corporation | Lazy handling of end of interrupt messages in a virtualized environment |
JP5169731B2 (ja) * | 2008-10-24 | 2013-03-27 | 富士通セミコンダクター株式会社 | マルチプロセッサシステムlsi |
US8132168B2 (en) * | 2008-12-23 | 2012-03-06 | Citrix Systems, Inc. | Systems and methods for optimizing a process of determining a location of data identified by a virtual hard drive address |
US9424211B2 (en) * | 2008-12-31 | 2016-08-23 | Intel Corporation | Providing multiple virtual device controllers by redirecting an interrupt from a physical device controller |
US8566492B2 (en) * | 2009-12-31 | 2013-10-22 | Intel Corporation | Posting interrupts to virtual processors |
US8417911B2 (en) | 2010-06-23 | 2013-04-09 | International Business Machines Corporation | Associating input/output device requests with memory associated with a logical partition |
US8918573B2 (en) | 2010-06-23 | 2014-12-23 | International Business Machines Corporation | Input/output (I/O) expansion response processing in a peripheral component interconnect express (PCIe) environment |
US8505032B2 (en) | 2010-06-23 | 2013-08-06 | International Business Machines Corporation | Operating system notification of actions to be taken responsive to adapter events |
US8683108B2 (en) | 2010-06-23 | 2014-03-25 | International Business Machines Corporation | Connected input/output hub management |
US8656228B2 (en) | 2010-06-23 | 2014-02-18 | International Business Machines Corporation | Memory error isolation and recovery in a multiprocessor computer system |
US8745292B2 (en) | 2010-06-23 | 2014-06-03 | International Business Machines Corporation | System and method for routing I/O expansion requests and responses in a PCIE architecture |
US9195623B2 (en) | 2010-06-23 | 2015-11-24 | International Business Machines Corporation | Multiple address spaces per adapter with address translation |
US8671287B2 (en) | 2010-06-23 | 2014-03-11 | International Business Machines Corporation | Redundant power supply configuration for a data center |
US8572635B2 (en) | 2010-06-23 | 2013-10-29 | International Business Machines Corporation | Converting a message signaled interruption into an I/O adapter event notification |
US8549182B2 (en) | 2010-06-23 | 2013-10-01 | International Business Machines Corporation | Store/store block instructions for communicating with adapters |
US8510599B2 (en) | 2010-06-23 | 2013-08-13 | International Business Machines Corporation | Managing processing associated with hardware events |
US8468284B2 (en) | 2010-06-23 | 2013-06-18 | International Business Machines Corporation | Converting a message signaled interruption into an I/O adapter event notification to a guest operating system |
US8635430B2 (en) | 2010-06-23 | 2014-01-21 | International Business Machines Corporation | Translation of input/output addresses to memory addresses |
US9342352B2 (en) | 2010-06-23 | 2016-05-17 | International Business Machines Corporation | Guest access to address spaces of adapter |
US8416834B2 (en) | 2010-06-23 | 2013-04-09 | International Business Machines Corporation | Spread spectrum wireless communication code for data center environments |
US8615645B2 (en) | 2010-06-23 | 2013-12-24 | International Business Machines Corporation | Controlling the selectively setting of operational parameters for an adapter |
US8621112B2 (en) | 2010-06-23 | 2013-12-31 | International Business Machines Corporation | Discovery by operating system of information relating to adapter functions accessible to the operating system |
US8677180B2 (en) | 2010-06-23 | 2014-03-18 | International Business Machines Corporation | Switch failover control in a multiprocessor computer system |
US8615622B2 (en) | 2010-06-23 | 2013-12-24 | International Business Machines Corporation | Non-standard I/O adapters in a standardized I/O architecture |
US8650337B2 (en) | 2010-06-23 | 2014-02-11 | International Business Machines Corporation | Runtime determination of translation formats for adapter functions |
US8639858B2 (en) | 2010-06-23 | 2014-01-28 | International Business Machines Corporation | Resizing address spaces concurrent to accessing the address spaces |
US8478922B2 (en) | 2010-06-23 | 2013-07-02 | International Business Machines Corporation | Controlling a rate at which adapter interruption requests are processed |
US8566480B2 (en) | 2010-06-23 | 2013-10-22 | International Business Machines Corporation | Load instruction for communicating with adapters |
US8504754B2 (en) | 2010-06-23 | 2013-08-06 | International Business Machines Corporation | Identification of types of sources of adapter interruptions |
US9213661B2 (en) | 2010-06-23 | 2015-12-15 | International Business Machines Corporation | Enable/disable adapters of a computing environment |
US8626970B2 (en) | 2010-06-23 | 2014-01-07 | International Business Machines Corporation | Controlling access by a configuration to an adapter function |
US8650335B2 (en) | 2010-06-23 | 2014-02-11 | International Business Machines Corporation | Measurement facility for adapter functions |
US8645767B2 (en) | 2010-06-23 | 2014-02-04 | International Business Machines Corporation | Scalable I/O adapter function level error detection, isolation, and reporting |
US8645606B2 (en) | 2010-06-23 | 2014-02-04 | International Business Machines Corporation | Upbound input/output expansion request and response processing in a PCIe architecture |
US8612659B1 (en) * | 2010-12-14 | 2013-12-17 | Vmware, Inc. | Hardware interrupt arbitration in virtualized computer systems |
US8910158B2 (en) * | 2011-12-14 | 2014-12-09 | Intel Corporation | Virtualizing interrupt priority and delivery |
CN102799465B (zh) * | 2012-06-30 | 2015-05-27 | 华为技术有限公司 | 分布式虚拟化系统的虚拟中断管理方法及装置 |
US10331589B2 (en) * | 2013-02-13 | 2019-06-25 | Red Hat Israel, Ltd. | Storing interrupt location for fast interrupt register access in hypervisors |
US9329880B2 (en) | 2013-02-13 | 2016-05-03 | Red Hat Israel, Ltd. | Counter for fast interrupt register access in hypervisors |
US9069741B2 (en) * | 2013-02-25 | 2015-06-30 | Red Hat, Inc. | Emulating level triggered interrupts of physical devices assigned to virtual machine |
US9535686B2 (en) | 2013-03-15 | 2017-01-03 | International Business Machines Corporation | Dynamic library replacement |
US9292331B2 (en) * | 2013-03-15 | 2016-03-22 | Bracket Computing, Inc. | Expansion of services for a virtual data center guest |
US9697031B2 (en) * | 2013-10-31 | 2017-07-04 | Huawei Technologies Co., Ltd. | Method for implementing inter-virtual processor interrupt by writing register data in a single write operation to a virtual register |
JP6190471B2 (ja) * | 2013-12-27 | 2017-08-30 | 株式会社日立製作所 | パーティション実行制御装置、パーティション実行制御方法及び計算機に読み込み可能な記憶媒体 |
CN105095128B (zh) | 2014-05-22 | 2020-04-03 | 中兴通讯股份有限公司 | 中断处理方法及中断控制器 |
US9910699B2 (en) | 2014-10-28 | 2018-03-06 | Intel Corporation | Virtual processor direct interrupt delivery mechanism |
KR20170032502A (ko) | 2015-09-14 | 2017-03-23 | 삼성전자주식회사 | 스토리지 장치 및 그것의 인터럽트 발생 방법 |
US9747123B2 (en) * | 2015-09-25 | 2017-08-29 | Intel Corporation | Technologies for multi-level virtualization |
US10282327B2 (en) * | 2017-01-19 | 2019-05-07 | International Business Machines Corporation | Test pending external interruption instruction |
US10248595B2 (en) * | 2017-08-10 | 2019-04-02 | Infineon Technologies Ag | Virtual machine monitor interrupt support for computer processing unit (CPU) |
US11675611B2 (en) | 2018-10-29 | 2023-06-13 | Nutanix, Inc. | Software service intervention in a computing system |
CN114356812B (zh) * | 2021-12-31 | 2022-08-26 | 元心信息科技集团有限公司 | 中断处理方法、装置、电子设备及计算机可读存储介质 |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5367661A (en) * | 1992-11-19 | 1994-11-22 | International Business Machines Corporation | Technique for controlling channel operations in a host computer by updating signals defining a dynamically alterable channel program |
US6219741B1 (en) * | 1997-12-10 | 2001-04-17 | Intel Corporation | Transactions supporting interrupt destination redirection and level triggered interrupt semantics |
US6470408B1 (en) * | 1999-04-14 | 2002-10-22 | Hewlett-Packard Company | Apparatus and method for delivering interrupts via an APIC bus to IA-32 processors |
US6279046B1 (en) * | 1999-05-19 | 2001-08-21 | International Business Machines Corporation | Event-driven communications interface for logically-partitioned computer |
US6766398B2 (en) * | 2001-04-17 | 2004-07-20 | International Business Machines Corporation | Method for processing PCI interrupt signals in a logically partitioned guest operating system |
US20040117532A1 (en) * | 2002-12-11 | 2004-06-17 | Bennett Steven M. | Mechanism for controlling external interrupts in a virtual machine system |
US7000051B2 (en) * | 2003-03-31 | 2006-02-14 | International Business Machines Corporation | Apparatus and method for virtualizing interrupts in a logically partitioned computer system |
US7281075B2 (en) * | 2003-04-24 | 2007-10-09 | International Business Machines Corporation | Virtualization of a global interrupt queue |
US7784060B2 (en) * | 2003-11-06 | 2010-08-24 | Intel Corporation | Efficient virtual machine communication via virtual machine queues |
US20050228921A1 (en) * | 2004-03-31 | 2005-10-13 | Prashant Sethi | Sharing of interrupts between operating entities |
JP2005309553A (ja) * | 2004-04-19 | 2005-11-04 | Hitachi Ltd | 計算機 |
US7209994B1 (en) * | 2004-05-11 | 2007-04-24 | Advanced Micro Devices, Inc. | Processor that maintains virtual interrupt state and injects virtual interrupts into virtual machine guests |
US7917740B1 (en) * | 2004-05-11 | 2011-03-29 | Advanced Micro Devices, Inc. | Virtualization assist for legacy x86 floating point exception handling |
US7143223B2 (en) * | 2004-10-14 | 2006-11-28 | International Business Machines Corporation | Method, system and program product for emulating an interrupt architecture within a data processing system |
CN100365604C (zh) * | 2005-12-02 | 2008-01-30 | 北京中星微电子有限公司 | 一种中断控制处理装置和方法 |
US8286162B2 (en) * | 2005-12-30 | 2012-10-09 | Intel Corporation | Delivering interrupts directly to a virtual processor |
US8176485B2 (en) * | 2006-05-15 | 2012-05-08 | Microsoft Corporation | Launching hypervisor under running operating system |
US7873770B2 (en) * | 2006-11-13 | 2011-01-18 | Globalfoundries Inc. | Filtering and remapping interrupts |
US7533207B2 (en) * | 2006-12-06 | 2009-05-12 | Microsoft Corporation | Optimized interrupt delivery in a virtualized environment |
US7853744B2 (en) * | 2007-05-23 | 2010-12-14 | Vmware, Inc. | Handling interrupts when virtual machines have direct access to a hardware device |
US8032680B2 (en) | 2008-06-27 | 2011-10-04 | Microsoft Corporation | Lazy handling of end of interrupt messages in a virtualized environment |
-
2008
- 2008-06-27 US US12/163,891 patent/US8032680B2/en active Active
-
2009
- 2009-06-01 TW TW098118060A patent/TWI442322B/zh not_active IP Right Cessation
- 2009-06-25 EP EP09771060.2A patent/EP2316069B1/en active Active
- 2009-06-25 JP JP2011516674A patent/JP5180373B2/ja active Active
- 2009-06-25 WO PCT/US2009/048707 patent/WO2009158528A2/en active Application Filing
- 2009-06-25 CN CN2009801236004A patent/CN102067083B/zh active Active
-
2011
- 2011-08-24 US US13/216,584 patent/US8103815B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2011526390A (ja) | 2011-10-06 |
US8032680B2 (en) | 2011-10-04 |
US20110307641A1 (en) | 2011-12-15 |
TW201003526A (en) | 2010-01-16 |
TWI442322B (zh) | 2014-06-21 |
EP2316069B1 (en) | 2018-02-14 |
US20090328035A1 (en) | 2009-12-31 |
US8103815B2 (en) | 2012-01-24 |
EP2316069A4 (en) | 2012-06-13 |
CN102067083B (zh) | 2013-12-04 |
WO2009158528A2 (en) | 2009-12-30 |
EP2316069A2 (en) | 2011-05-04 |
CN102067083A (zh) | 2011-05-18 |
WO2009158528A3 (en) | 2010-03-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5180373B2 (ja) | 仮想化環境における割り込みメッセージ終了のレイジー処理 | |
US10073711B2 (en) | Virtual machine monitor configured to support latency sensitive virtual machines | |
CN107273199B (zh) | 用于管理虚拟化环境中的中断的体系结构和方法 | |
US9110741B2 (en) | Warning track interruption facility | |
US20180121366A1 (en) | Read/write request processing method and apparatus | |
US8544010B2 (en) | Providing notification to speculatively waking up target virtual machine for an I/O event using multiple virtual machines and processors | |
US12050813B2 (en) | Shared memory mechanism to support fast transport of SQ/CQ pair communication between SSD device driver in virtualization environment and physical SSD | |
US20130185738A1 (en) | Use of a warning track interruption facility by a program | |
US20130132620A1 (en) | Usb redirection for write streams | |
WO2015062199A1 (zh) | 一种虚拟处理器之间的中断的实现方法、相关装置和系统 | |
US10241829B2 (en) | Information processing device, information processing method, recording medium, calculation processing device, calculation processing method | |
US9098431B2 (en) | USB redirection for interrupt transactions | |
US10545697B1 (en) | Reverse order request queueing by para-virtual device drivers | |
EP3853724B1 (en) | I/o completion polling for low latency storage device | |
US20230033583A1 (en) | Primary input-output queue serving host and guest operating systems concurrently | |
KR102160414B1 (ko) | 하위 호환성을 위한 레거시 버스 동작 시뮬레이션 | |
US20200218459A1 (en) | Memory-mapped storage i/o |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120202 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120202 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20120202 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20120224 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120323 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120625 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120807 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20121107 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20121211 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130110 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5180373 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313113 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |