JP2015022553A5 - - Google Patents

Download PDF

Info

Publication number
JP2015022553A5
JP2015022553A5 JP2013150629A JP2013150629A JP2015022553A5 JP 2015022553 A5 JP2015022553 A5 JP 2015022553A5 JP 2013150629 A JP2013150629 A JP 2013150629A JP 2013150629 A JP2013150629 A JP 2013150629A JP 2015022553 A5 JP2015022553 A5 JP 2015022553A5
Authority
JP
Japan
Prior art keywords
interrupt
physical
processor
virtualization
path information
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
Application number
JP2013150629A
Other languages
English (en)
Other versions
JP2015022553A (ja
JP6029550B2 (ja
Filing date
Publication date
Application filed filed Critical
Priority to JP2013150629A priority Critical patent/JP6029550B2/ja
Priority claimed from JP2013150629A external-priority patent/JP6029550B2/ja
Priority to US14/275,183 priority patent/US9697024B2/en
Publication of JP2015022553A publication Critical patent/JP2015022553A/ja
Publication of JP2015022553A5 publication Critical patent/JP2015022553A5/ja
Application granted granted Critical
Publication of JP6029550B2 publication Critical patent/JP6029550B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Claims (13)

  1. 仮想化支援機能を有する複数の物理プロセッサと、メモリとを含む計算機の制御方法であって、
    前記計算機は、
    前記物理プロセッサのうち仮想化支援機能を無効にした第1のプロセッサグループと、前記物理プロセッサのうち仮想化支援機能を有効にした第2のプロセッサグループと、を含み、
    第1のOSに前記第1のプロセッサグループを割り当てて、前記第1のOSを起動させる第1のステップと、
    仮想マシンを稼働させる仮想化部に前記第2のプロセッサグループを割り当て、前記仮想化部を起動させる第2のステップと、
    前記仮想化部が、前記メモリのうちの所定の領域と、前記第2のプロセッサグループのうちの所定の物理プロセッサと、を前記仮想マシンとしての第2のOSに割り当てて、当該第2のOSを起動させる第3のステップと、
    前記仮想化部が、前記メモリに前記第1のOSと仮想化部が相互に読み書き可能な共有領域を設定する第4のステップと、
    前記仮想化部が、前記第2のOSへの論理割込みと物理割込みの対応関係を含む割込みパス情報を前記共有領域に設定する第5のステップと、
    前記第1のOSが、前記共有領域から前記割込みパス情報を取得する第6のステップと、
    前記第1のOSが、前記割込みパス情報の前記第2のOSへの論理割込みと物理割込みの対応関係に基づいて、前記第1のプロセッサグループの第1の物理プロセッサに物理割込みを生成させ、前記割込みパス情報に基づいて、前記第1の物理プロセッサが、前記第2のプロセッサグループの第2の物理プロセッサに前記物理割込みを発行する第7のステップと、
    前記第2の物理プロセッサが、前記第1の物理プロセッサから前記物理割込みを受信すると、前記割込みパス情報に基づいて、前記第2のOSへ論理割込みを発行する第8のステップと、
    を含むことを特徴とする計算機の制御方法。
  2. 請求項1に記載の計算機の制御方法であって、
    前記第3のステップは、
    前記仮想化部が、前記第2のプロセッサグループの第2の物理プロセッサを仮想プロセッサとして前記第2のOSに割り当て、
    前記仮想化部が、前記第2のOSが利用する仮想プロセッサ情報を前記仮想化部の仮想マシン管理情報の一部として設定し、
    前記第5のステップは、
    前記仮想化部が、割込み受信対象の前記第2のOSに割り当てられた前記仮想プロセッサの割込み制御部の識別子に対応する物理プロセッサコアの割り込み制御部の識別子と、割込み受信対象の前記第2のOSの割り込みハンドラを特定するゲストベクタと、を前記割込みパス情報に設定し、
    前記第6のステップは、
    前記第1のOSが、前記割込みパス情報のうち、前記割込み受信対象の前記第2のOSに割り当てられた前記仮想プロセッサの割込み制御部の識別子に対応する物理プロセッサコアの割り込み制御部の識別子と、割込み受信対象の前記第2のOSの割り込みハンドラを特定するゲストベクタと、を取得することを特徴とする計算機の制御方法。
  3. 請求項2に記載の計算機の制御方法であって、
    前記第5のステップは、
    前記仮想化部が、前記第1の物理プロセッサで生成する物理割込みに付加する通知ベクタと、前記ゲストベクタに対応する割り込み要求ビットマップと、を前記割込みパス情報に設定し、
    前記第7のステップは、
    前記第1のOSが、前記割込みパス情報に、物理割込みを発行したことを示す発行済み通知ビットを有効化することを特徴とする計算機の制御方法。
  4. 請求項3に記載の計算機の制御方法であって、
    前記第5のステップは、
    前記第2のOSに割り当てられた前記仮想プロセッサの割込み制御部の識別子に対応する物理プロセッサコアに前記第8のステップを実施させるため、前記通知ベクタと、前記割り込み要求ビットマップおよび前記発行済み通知ビットとを保持するメモリ領域のメモリアドレスと、を前記仮想化部の仮想マシン管理情報へ設定し、
    前記第7のステップは、
    前記第1のOSが、前記取得した前記通知ベクタを設定した前記物理割込みを前記第1の物理プロセッサに生成させ、
    前記第1の物理プロセッサが、前記割込み受信対象の前記第2のOSに割り当てられた前記仮想プロセッサの割込み制御部の識別子に対応する物理プロセッサコアの割り込み制御部の識別子に対応する前記第2の物理プロセッサへ前記生成した物理割込みを発行することを特徴とする計算機の制御方法。
  5. 請求項3または請求項4に記載の計算機の制御方法であって、
    前記物理プロセッサは、割り込み支援機能として、論理割込み発生に仮想化ソフトウェアの処理を省く機能を有することを特徴とする計算機の制御方法。
  6. 請求項1に記載の計算機の制御方法であって、
    前記仮想化部が、前記第2のプロセッサグループの物理プロセッサと前記第2のOSの関係を変更する第9のステップと、
    前記仮想化部が、前記変更された前記第2のプロセッサグループの物理プロセッサと前記第2のOSの関係に基づいて、前記第2のOSへの論理割込みと物理割込みの対応関係を含む割込みパス情報を更新する第10のステップと、
    をさらに含むことを特徴とする計算機の制御方法。
  7. 請求項1に記載の計算機の制御方法であって、
    前記割込みパス情報に含まれる、前記第2のOSへの論理割込みと物理割込みの対応関係は、
    前記第2のOSが、MSI−X領域に設定する仮想プロセッサの割込み制御部の識別子と、
    前記仮想プロセッサの割込み制御部の識別子に対応する物理プロセッサコアの割り込み制御部の識別子と、
    から構成され、
    かつ、前記MSI−X領域を前記第2のOSに割り当てられたメモリ領域に配置し、
    前記仮想化部が、前記MSI−X領域へのアクセスをトラップして前記対応関係の変更を検知することを特徴とする計算機の制御方法。
  8. 仮想化支援機能を有する複数の物理プロセッサと、メモリとを含む計算機であって、
    前記物理プロセッサのうち仮想化支援機能を無効にした第1のプロセッサグループと、
    前記物理プロセッサのうち仮想化支援機能を有効にした第2のプロセッサグループと、
    前記第1のプロセッサグループを割り当てる第1のOSと、
    前記第2のプロセッサグループを割り当てて、仮想マシンを稼働させる仮想化部と、を有し、
    前記仮想化部は、
    2のOSが利用する仮想プロセッサ情報を前記仮想化部の仮想マシン管理情報の一部として設定し、
    前記メモリのうちの所定の領域と、前記第2のプロセッサグループのうちの所定の物理プロセッサとを第2のOSに仮想プロセッサとして割り当てて、当該第2のOSを起動して仮想マシンとして提供し、
    前記メモリに前記第1のOSと仮想化部が相互に読み書き可能な共有領域を設定し、当該共有領域には、前記第2のOSへの論理割込みと物理割込みの対応関係を含む割込みパス情報を設定し、
    前記第1のOSが、
    前記共有領域から前記割込みパス情報を取得して、前記割込みパス情報の前記第2のOSへの論理割込みと物理割込みの対応関係に基づいて、前記第1のプロセッサグループの第1の物理プロセッサに物理割込みを生成させ、前記割込みパス情報に基づいて、前記第1の物理プロセッサが、前記第2のプロセッサグループの第2の物理プロセッサに前記物理割込みを発行し、
    前記第2の物理プロセッサが、前記第1の物理プロセッサから前記物理割込みを受信すると、前記割込みパス情報に基づいて、前記第2のOSへ論理割込みを発行することを特徴とする計算機。
  9. 請求項8に記載の計算機であって、
    前記仮想化部は、
    前記第2のプロセッサグループの第2の物理プロセッサを仮想プロセッサとして前記第2のOSに割り当て、割込み受信対象の前記第2のOSに割り当てられた前記仮想プロセッサの割込み制御部の識別子に対応する物理プロセッサコアの割り込み制御部の識別子と、割込み受信対象の前記第2のOSの割り込みハンドラを特定するゲストベクタと、を前記割込みパス情報に設定し、
    前記第1のOSは、
    前記割込みパス情報のうち、前記割込み受信対象の前記第2のOSに割り当てられた前記仮想プロセッサの割込み制御部の識別子に対応する物理プロセッサコアの割り込み制御部の識別子と、割込み受信対象の前記第2のOSの割り込みハンドラを特定するゲストベクタと、を取得することを特徴とする計算機。
  10. 請求項9に記載の計算機であって、
    前記仮想化部は、
    前記第1の物理プロセッサで生成する物理割込みに付加する通知ベクタと、当該ゲストベクタに対応する割り込み要求ビットマップと、を前記割込みパス情報に設定し、
    前記第1のOSは、
    前記割込みパス情報に、物理割込みを発行したことを示す発行済み通知ビットを有効化することを特徴とする計算機。
  11. 請求項10に記載の計算機であって、
    前記仮想化部は、
    前記通知ベクタと、前記割り込み要求ビットマップおよび前記発行済み通知ビットとを保持するメモリ領域のメモリアドレスと、を前記仮想化部の仮想マシン管理情報へ設定し、
    前記第1のOSは、
    前記取得した前記通知ベクタを設定した前記物理割込みを前記第1の物理プロセッサに生成させ、
    前記第1の物理プロセッサは、
    前記割込み受信対象の前記第2のOSに割り当てられた前記仮想プロセッサの割込み制御部の識別子に対応する物理プロセッサコアの割り込み制御部の識別子に対応する前記第2の物理プロセッサへ前記生成した物理割込みを発行することを特徴とする計算機。
  12. 請求項10または請求項11に記載の計算機であって、
    前記物理プロセッサは、割り込み支援機能として、論理割込み発生に仮想化ソフトウェアの処理を省く機能を有することを特徴とする計算機。
  13. 請求項8に記載の計算機であって、
    前記仮想化部が、
    前記第2のプロセッサグループの物理プロセッサと前記第2のOSの関係を変更し、前記変更された前記第2のプロセッサグループの物理プロセッサと前記第2のOSの関係に基づいて、前記第2のOSへの論理割込みと物理割込みの対応関係を含む割込みパス情報を更新することを特徴とする計算機。
JP2013150629A 2013-07-19 2013-07-19 計算機の制御方法及び計算機 Expired - Fee Related JP6029550B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013150629A JP6029550B2 (ja) 2013-07-19 2013-07-19 計算機の制御方法及び計算機
US14/275,183 US9697024B2 (en) 2013-07-19 2014-05-12 Interrupt management method, and computer implementing the interrupt management method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013150629A JP6029550B2 (ja) 2013-07-19 2013-07-19 計算機の制御方法及び計算機

Publications (3)

Publication Number Publication Date
JP2015022553A JP2015022553A (ja) 2015-02-02
JP2015022553A5 true JP2015022553A5 (ja) 2016-01-14
JP6029550B2 JP6029550B2 (ja) 2016-11-24

Family

ID=52344690

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013150629A Expired - Fee Related JP6029550B2 (ja) 2013-07-19 2013-07-19 計算機の制御方法及び計算機

Country Status (2)

Country Link
US (1) US9697024B2 (ja)
JP (1) JP6029550B2 (ja)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10042790B2 (en) * 2014-03-07 2018-08-07 Hitachi, Ltd. Computer and method with interrupt vector management
US9697151B2 (en) 2014-11-19 2017-07-04 Nxp Usa, Inc. Message filtering in a data processing system
US9727500B2 (en) * 2014-11-19 2017-08-08 Nxp Usa, Inc. Message filtering in a data processing system
US10713195B2 (en) * 2016-01-15 2020-07-14 Intel Corporation Interrupts between virtual machines
CN108292278B (zh) * 2016-01-22 2021-02-26 株式会社日立制作所 计算机系统和计算机
US10176115B2 (en) 2016-07-14 2019-01-08 International Business Machines Corporation Shared memory in a virtual environment
US10209889B2 (en) 2016-07-14 2019-02-19 International Business Machines Corporation Invalidation of shared memory in a virtual environment
JP6852509B2 (ja) * 2017-03-30 2021-03-31 ブラザー工業株式会社 プログラム及び情報処理装置
US10248595B2 (en) * 2017-08-10 2019-04-02 Infineon Technologies Ag Virtual machine monitor interrupt support for computer processing unit (CPU)
CN110162377A (zh) * 2018-02-14 2019-08-23 华为技术有限公司 一种通信方法和逻辑处理器
TWI764082B (zh) 2019-02-14 2022-05-11 美商萬國商業機器公司 用於經引導中斷虛擬化之中斷信號之方法、電腦系統及電腦程式產品
TWI759677B (zh) 2019-02-14 2022-04-01 美商萬國商業機器公司 用於具有回退之經引導中斷虛擬化之方法、電腦系統及電腦程式產品
CA3130164A1 (en) 2019-02-14 2020-08-20 International Business Machines Corporation Directed interrupt for multilevel virtualization
US11003484B2 (en) 2019-06-28 2021-05-11 Intel Corporation Inter-processor interrupt virtualization with pass-through of local interrupt controller
CN113094111B (zh) * 2021-04-16 2024-01-09 三星(中国)半导体有限公司 设备以及设备的启动方法

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001290665A (ja) * 2000-04-11 2001-10-19 Nec Software Hokuriku Ltd プロセッサシステム
US7685635B2 (en) * 2005-03-11 2010-03-23 Microsoft Corporation Systems and methods for multi-level intercept processing in a virtual machine environment
US7900204B2 (en) * 2005-12-30 2011-03-01 Bennett Steven M Interrupt processing in a layered virtualization architecture
US8453197B2 (en) * 2006-09-07 2013-05-28 Intel Corporation Method, apparatus and system for isolating a temporary partition on a host
US7533207B2 (en) * 2006-12-06 2009-05-12 Microsoft Corporation Optimized interrupt delivery in a virtualized environment
US20080155092A1 (en) * 2006-12-22 2008-06-26 Arvind Kumar Method, apparatus and system for securely metering resource usage on a computing platform
US8453143B2 (en) 2007-09-19 2013-05-28 Vmware, Inc. Reducing the latency of virtual interrupt delivery in virtual machines
US8566492B2 (en) 2009-12-31 2013-10-22 Intel Corporation Posting interrupts to virtual processors
US20110197004A1 (en) * 2010-02-05 2011-08-11 Serebrin Benjamin C Processor Configured to Virtualize Guest Local Interrupt Controller
US10684973B2 (en) * 2013-08-30 2020-06-16 Intel Corporation NUMA node peripheral switch

Similar Documents

Publication Publication Date Title
JP2015022553A5 (ja)
US20200341921A1 (en) Virtualizing interrupt prioritization and delivery
JP6029550B2 (ja) 計算機の制御方法及び計算機
TWI721060B (zh) 用於輸入/輸出裝置之可縮放虛擬化的位址轉譯設備、方法及系統
US10877793B2 (en) Extending the base address register by modifying the number of read-only bits associated with a device to be presented to a guest operating system
US9697154B2 (en) Managing message signaled interrupts in virtualized computer systems
WO2015080719A1 (en) Apparatus and method for scheduling graphics processing unit workloads from virtual machines
JP2015518997A5 (ja)
US20150212956A1 (en) Updating virtual machine memory by interrupt handler
US10310887B2 (en) CPU overcommit with guest idle polling
JP2014235501A5 (ja)
US10552345B2 (en) Virtual machine memory lock-down
US9600314B2 (en) Scheduler limited virtual device polling
JP2015519654A5 (ja)
US10671419B2 (en) Multiple input-output memory management units with fine grained device scopes for virtual machines
US9875131B2 (en) Virtual PCI device based hypervisor bypass using a bridge virtual machine
US20180246838A1 (en) Asynchronous mapping of hot-plugged device associated with virtual machine
US20190205259A1 (en) Exitless extended page table switching for nested hypervisors
JP2014531088A5 (ja)
JP2022511670A (ja) 仮想化コンピューティング環境での安全なメモリアクセス
US20140189031A1 (en) Computing device and method of creating virtual machines in hosts
US9766917B2 (en) Limited virtual device polling based on virtual CPU pre-emption
US10140148B1 (en) Copy based IOMMU emulation for out-of-process emulated devices
TW201335851A (zh) 計算機、存取管理方法及記錄有存取管理程式之媒體
US11409551B2 (en) Emulating VPID correctly for a nested hypervisor