JP2011526390A5 - - Google Patents
Download PDFInfo
- Publication number
- JP2011526390A5 JP2011526390A5 JP2011516674A JP2011516674A JP2011526390A5 JP 2011526390 A5 JP2011526390 A5 JP 2011526390A5 JP 2011516674 A JP2011516674 A JP 2011516674A JP 2011516674 A JP2011516674 A JP 2011516674A JP 2011526390 A5 JP2011526390 A5 JP 2011526390A5
- Authority
- JP
- Japan
- Prior art keywords
- interrupt
- eoi
- memory
- hypervisor
- processing
- 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.)
- Granted
Links
- 230000001960 triggered Effects 0.000 claims 3
- 101700069532 GSTF2 Proteins 0.000 claims 2
- 230000004044 response Effects 0.000 claims 1
Claims (20)
- コンピューター実行可能命令を記憶する1つまたは複数のコンピューター可読媒体であって、前記命令が、1つまたは複数のプロセッサ上で実行されると、
ハイパーバイザから割り込みサービス要求を受信すること、
前記割り込みサービス要求をCPUに送信すること、
EOIのACKを前記CPUから受信すること、
処理の基準が満たされるかどうかを決定すること、
前記基準が満たされる場合、前記ハイパーバイザと共有されるメモリに値を書き込むこと、および、
前記基準が満たされない場合、前記EOIを前記ハイパーバイザに送信すること
を含む動作を実行することを特徴とするコンピューター可読媒体。 - メモリに書き込まれる前記値が1ビットから成ることを特徴とする請求項1に記載の1つまたは複数のコンピューター可読媒体。
- 前記ハイパーバイザに前記EOIを送信することが、メモリ・マップ・ページに書き込むことを含み、前記ハイパーバイザ内で実行するメモリ・インターセプト・モジュールが前記メモリ・マップ・ページへの前記書き込みをトラップすることを特徴とする請求項1に記載の1つまたは複数のコンピューター可読媒体。
- 前記ハイパーバイザと共有される前記メモリが、ゲストオペレーティングシステムの仮想メモリのページおよびハイパーバイザの仮想メモリのページに同時にマッピングされる物理メモリのページを含むことを特徴とする請求項1に記載の1つまたは複数のコンピューター可読媒体。
- 前記メモリに値を書き込むことは、前記ハイパーバイザが前記EOIの処理以外の理由で実行を開始するまで、前記EOIの処理の遅延を可能にすることを特徴とする請求項1に記載の1つまたは複数のコンピューター可読媒体。
- 処理の基準が満たされるかどうかを決定することは、前記EOIが共有メモリからレイジー処理をされうるかどうかを示す値を読み込むことをさらに含むことを特徴とする請求項1に記載の1つまたは複数のコンピューター可読媒体。
- 前記共有メモリは、前記ハイパーバイザと共有されて、前記ハイパーバイザは、前記受信された割り込みがレベルトリガー割り込みを含むとき、EOIをレイジーに評価することができないことを前記共有メモリにおいて示すことを特徴とする請求項6に記載の1つまたは複数のコンピューター可読媒体。
- 前記共有メモリは、前記ハイパーバイザと共有されて、前記ハイパーバイザは、
第1の割り込みの受信の後に受信される第2の割り込みが、前記第1の割り込みのプライオリティより低いプライオリティを含み、
前記CPUが前記第1の割り込みを処理している
とき、EOIをレイジーに評価できないことを前記共有メモリにおいて示すことを特徴とする請求項6に記載の1つまたは複数のコンピューター可読媒体。 - 前記共有メモリは前記ハイパーバイザと共有されて、前記ハイパーバイザは、
第1の割り込みの受信の後に受信される第2の割り込みが、前記第1の割り込みのプライオリティより大きいプライオリティを含み、
前記CPUが前記第1の割り込みを処理している
とき、EOIをレイジーに評価できないことを前記共有メモリにおいて示すことを特徴とする請求項6に記載の1つまたは複数のコンピューター可読媒体。 - 割り込みを受信するステップと、
仮想CPUに関連する仮想APICを分析して、基準が満たされるかどうかを決定するステップと、
ゲストオペレーティングシステムと共有されるメモリの値を設定して、前記ゲストオペレーティングシステムがEOIのACKにレイジー処理をすることできるとき、前記ゲストオペレーティングシステムがEOIにレイジー処理をすることができることを示すステップと、
前記ゲストオペレーティングシステムがEOIのACKにレイジー処理をすることできないとき、前記ゲストオペレーティングシステムと共有されるメモリの値を設定して、前記ゲストオペレーティングシステムがEOIにレイジー処理をすることができないことを示すステップと
を備えた方法。 - 前記ゲストオペレーティングシステムは、前記割り込みがエッジトリガー割り込みを含むとき、EOIにレイジー処理をすることができることを特徴とする請求項10に記載の方法。
- 前記割り込みは、第1の割り込みを含んで、前記ゲストオペレーティングシステムは、
前記第1の割り込みの受信の後に受信される第2の割り込みが、前記第1の割り込みのプライオリティより低いプライオリティを含み、
前記仮想CPUが前記第1の割り込みを処理している
とき、EOIのACKにレイジー処理をしないよう構成されることを特徴とする請求項10に記載の方法。 - 前記割り込みは、第1の割り込みを含んで、前記ゲストオペレーティングシステムは、
前記第1の割り込みの受信の後に受信される第2の割り込みが、前記第1の割り込みのプライオリティより大きいプライオリティを含み、
前記仮想CPUが前記第2の割り込みを処理している
とき、EOIのACKにレイジー処理をしないよう構成されることを特徴とする請求項10に記載の方法。 - 前記ゲストオペレーティングシステムは、前記割り込みがエッジトリガー割り込みを含むとき、および前記割り込みが単に処理されているだけの割り込みであるとき、EOIのACKにレイジー処理をすることができることを特徴とする請求項10に記載の方法。
- 前記ゲストオペレーティングシステムからEOIを直接受信するステップをさらに含むことを特徴とする請求項10に記載の方法。
- 前記ゲストオペレーティングシステムと共有されるメモリに記憶される、EOIが発生したかどうかを示す値を検索するステップであって、前記値はEOIに応答すること以外で検索される、ステップをさらに含むことを特徴とする請求項10に記載の方法。
- メモリ・インターセプト・モジュールがメモリのページに組み込まれて、前記メモリのページは、物理APICと通信する前記仮想CPUにより使用されるメモリマップI/Oページを含むことを特徴とする請求項10に記載の方法。
- 1つまたは複数のプロセッサと、
前記1つまたは複数のプロセッサによりアクセス可能なメモリと、
メモリ内に記憶されるハイパーバイザであって、前記1つまたは複数のプロセッサ上、
割り込みを受信することと、
第1の処理基準が満たされるかどうかを決定することと、
前記第1の処理基準が満たされるときにEOIをレイジーに評価することが可能であるということを示す値を共有メモリに設定することと、
前記第1の処理基準が満たされない場合、前記割り込みの処理を完了すると前記EOIを前記ハイパーバイザに転送しなければならないことを示す値を共有メモリに設定することと、
前記割り込みを、ゲストオペレーティングシステムを実行する仮想CPUに送信することと
が実行可能なハイパーバイザと、
メモリに記憶される前記ゲストオペレーティングシステムのレイジーEOI処理モジュールであって、前記1つまたは複数のプロセッサ上、
前記割り込みが実行されたことを示す前記EOIを前記仮想CPUから受信することと、
第2の処理基準が満たされるかどうかを決定することと、
前記第2の処理基準が満たされる場合、前記EOIを前記ハイパーバイザに送信することと、
前記EOIが発生したことを示す値を前記共有メモリに設定して、前記第2の処理基準が満たされない場合、前記ハイパーバイザに、後に前記EOIに応答することを可能にすることと
が実行可能な処理モジュールと
を備えたコンピューターシステム。 - 前記割り込みに対するEOIのACKを、
前記割り込みがレベルトリガー割り込みでなく、
前記割り込みが単にアクティブな割り込みである
とき、レイジーに評価することができることを特徴とする請求項18に記載のコンピューターシステム。 - 前記割り込みは、自己割り込みであり、前記ハイパーバイザは、前記自己割り込みを前記仮想CPUに関連する仮想ローカルAPICに通信することを特徴とする請求項18に記載のコンピューターシステム。
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 true JP2011526390A5 (ja) | 2012-03-22 |
JP5180373B2 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 |
US8677180B2 (en) | 2010-06-23 | 2014-03-18 | International Business Machines Corporation | Switch failover control in a multiprocessor computer system |
US8417911B2 (en) | 2010-06-23 | 2013-04-09 | International Business Machines Corporation | Associating input/output device requests with memory associated with a logical partition |
US8572635B2 (en) | 2010-06-23 | 2013-10-29 | International Business Machines Corporation | Converting a message signaled interruption into an I/O adapter event notification |
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 |
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 |
US8645606B2 (en) | 2010-06-23 | 2014-02-04 | International Business Machines Corporation | Upbound input/output expansion request and response processing in a PCIe architecture |
US8635430B2 (en) | 2010-06-23 | 2014-01-21 | International Business Machines Corporation | Translation of input/output addresses to memory addresses |
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 |
US9213661B2 (en) | 2010-06-23 | 2015-12-15 | International Business Machines Corporation | Enable/disable adapters of a computing environment |
US8639858B2 (en) | 2010-06-23 | 2014-01-28 | International Business Machines Corporation | Resizing address spaces concurrent to accessing the address spaces |
US8671287B2 (en) | 2010-06-23 | 2014-03-11 | International Business Machines Corporation | Redundant power supply configuration for a data center |
US8645767B2 (en) | 2010-06-23 | 2014-02-04 | International Business Machines Corporation | Scalable I/O adapter function level error detection, isolation, and reporting |
US8683108B2 (en) | 2010-06-23 | 2014-03-25 | International Business Machines Corporation | Connected input/output hub management |
US8615645B2 (en) | 2010-06-23 | 2013-12-24 | International Business Machines Corporation | Controlling the selectively setting of operational parameters for an adapter |
US8566480B2 (en) | 2010-06-23 | 2013-10-22 | International Business Machines Corporation | Load instruction for communicating with adapters |
US8510599B2 (en) | 2010-06-23 | 2013-08-13 | International Business Machines Corporation | Managing processing associated with hardware events |
US9342352B2 (en) | 2010-06-23 | 2016-05-17 | International Business Machines Corporation | Guest access to address spaces of adapter |
US8505032B2 (en) | 2010-06-23 | 2013-08-06 | International Business Machines Corporation | Operating system notification of actions to be taken responsive to adapter events |
US8416834B2 (en) | 2010-06-23 | 2013-04-09 | International Business Machines Corporation | Spread spectrum wireless communication code for data center environments |
US8478922B2 (en) | 2010-06-23 | 2013-07-02 | International Business Machines Corporation | Controlling a rate at which adapter interruption requests are processed |
US8615622B2 (en) | 2010-06-23 | 2013-12-24 | International Business Machines Corporation | Non-standard I/O adapters in a standardized I/O architecture |
US8549182B2 (en) | 2010-06-23 | 2013-10-01 | International Business Machines Corporation | Store/store block instructions for communicating with adapters |
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 |
US8626970B2 (en) | 2010-06-23 | 2014-01-07 | International Business Machines Corporation | Controlling access by a configuration to an adapter function |
US8650337B2 (en) | 2010-06-23 | 2014-02-11 | International Business Machines Corporation | Runtime determination of translation formats for adapter functions |
US8504754B2 (en) | 2010-06-23 | 2013-08-06 | International Business Machines Corporation | Identification of types of sources of adapter interruptions |
US8650335B2 (en) | 2010-06-23 | 2014-02-11 | International Business Machines Corporation | Measurement facility for adapter functions |
US9195623B2 (en) | 2010-06-23 | 2015-11-24 | International Business Machines Corporation | Multiple address spaces per adapter with address translation |
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 |
US9841993B2 (en) * | 2013-12-27 | 2017-12-12 | Hitachi, Ltd. | Realtime hypervisor with priority interrupt support |
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 WO PCT/US2009/048707 patent/WO2009158528A2/en active Application Filing
- 2009-06-25 CN CN2009801236004A patent/CN102067083B/zh active Active
- 2009-06-25 EP EP09771060.2A patent/EP2316069B1/en active Active
- 2009-06-25 JP JP2011516674A patent/JP5180373B2/ja active Active
-
2011
- 2011-08-24 US US13/216,584 patent/US8103815B2/en active Active
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2011526390A5 (ja) | ||
US11119838B2 (en) | Techniques for handling errors in persistent memory | |
JP2015135696A5 (ja) | ||
RU2012148585A (ru) | Сохранение/восстановление выбранных регистров при транзакционной обработке | |
WO2017070861A1 (zh) | 一种中断响应方法、装置及基站 | |
JP2016507849A5 (ja) | ||
RU2016126975A (ru) | Связанное с выбранными архитектурными функциями администрирование обработки | |
US9423979B2 (en) | Memory system and memory controller for determining whether one or plurality of pointers can be stored in a second buffer and for executing data transfer between data buffer and host using the pointers | |
WO2009023629A3 (en) | Memory device and method having on-board address protection system for facilitating interface with multiple processors, and computer system using same | |
RU2012144773A (ru) | Способ и устройство для определения режима взаимодействия | |
JP2016526730A5 (ja) | ||
JP2016525255A5 (ja) | ||
RU2012148586A (ru) | Фильтрация программного прерывания в транзакционном выполнении | |
RU2012148400A (ru) | Блок диагностики транзакций | |
RU2012150102A (ru) | Применение косвенных адресных слов данных расширенной схемы асинхронного перемещения данных | |
JP2010079729A5 (ja) | ||
JP2016534486A5 (ja) | ||
JP2017516228A5 (ja) | ||
RU2008138701A (ru) | Асинхронная обработка ошибки в ориентированных на процессы программах | |
WO2013192633A3 (en) | Virtual memory module | |
RU2012113963A (ru) | Способ обнаружения вредоносного программного обеспечения в ядре операционной системы | |
JP2013536486A5 (ja) | ||
JP2015522878A5 (ja) | ||
US20150234687A1 (en) | Thread migration across cores of a multi-core processor | |
WO2015101148A1 (zh) | 一种实现虚拟机自省的方法和装置 |