JP7335339B2 - 有向割り込みの仮想化方法、システム、プログラム - Google Patents
有向割り込みの仮想化方法、システム、プログラム Download PDFInfo
- Publication number
- JP7335339B2 JP7335339B2 JP2021540052A JP2021540052A JP7335339B2 JP 7335339 B2 JP7335339 B2 JP 7335339B2 JP 2021540052 A JP2021540052 A JP 2021540052A JP 2021540052 A JP2021540052 A JP 2021540052A JP 7335339 B2 JP7335339 B2 JP 7335339B2
- Authority
- JP
- Japan
- Prior art keywords
- interrupt
- processor
- bus
- interrupt signal
- target
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/24—Handling requests for interconnection or transfer for access to input/output bus using interrupt
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- 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/48—Program initiating; Program switching, e.g. by interrupt
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Multi Processors (AREA)
- Bus Control (AREA)
Description
実施形態は、どのバス接続されたモジュールからの処理される割り込み信号が存在しているかを監視し、記録するという有益な効果を有することができる。この情報は、例えば、直接アドレス指定が失敗するか、または使用できない場合のフォールバックとして、ブロードキャストを実行する必要がある場合に特に役立つことがある。一実施形態によれば、割り込み要約ベクトルは連続領域として実装される。実施形態は、割り込み要約ベクトルが、最小限のメモリ空間であり、高速な、効率的に処理できる形態で提供されるという有益な効果を有することができる。連続領域は、例えば単一のキャッシュ・ラインであってよい。一実施形態によれば、割り込み要約インジケータは、それぞれ単一のビットとして実装される。実施形態は、割り込み要約インジケータが、最小限のメモリ空間であり、高速な、効率的に処理できる形態で提供されるという有益な効果を有することができる。
一実施形態によれば、割り込み信号ベクトルは、それぞれメモリ内の連続領域として実装される。実施形態は、最小限のメモリ空間であり、高速な、効率的に処理できる形態で割り込み信号ベクトルを提供するという有益な効果を有することができる。連続領域は、例えばキャッシュ・ラインであってよい。一実施形態によれば、割り込み信号インジケータは、それぞれ単一のビットとして実装される。実施形態は、最小限のメモリ空間であり、高速な、効率的に処理できる形態で割り込み信号ベクトルを提供するという有益な効果を有することができる。
1.ゲスト・オペレーティング・システムで使用するために割り当てられたコンピュータ・システムの複数のプロセッサのうちの1つまたは複数のプロセッサを使用して実行されるゲスト・オペレーティング・システムに割り込み信号を提供するための方法であって、このコンピュータ・システムが、バスおよびバス接続デバイスを介して複数のプロセッサに操作可能なように接続されている1つまたは複数のバス接続されたモジュールをさらに備え、
複数のプロセッサの各プロセッサに、各プロセッサをアドレス指定するためにバス接続デバイスによって使用される論理プロセッサIDが割り当てられており、
ゲスト・オペレーティング・システムで使用するために割り当てられた複数のプロセッサの各プロセッサに、各プロセッサをアドレス指定するためにゲスト・オペレーティング・システムおよび1つまたは複数のバス接続されたモジュールによって使用される割り込みターゲットIDがさらに割り当てられており、
この方法は、
バス接続デバイスによって、バス接続されたモジュールのうちの1つから割り込みターゲットIDと共に割り込み信号を受信することであって、この割り込みターゲットIDが、ゲスト・オペレーティング・システムで使用するために割り当てられたプロセッサのうちの1つを、割り込み信号を処理するためのターゲット・プロセッサとして識別する、受信することと、
バス接続デバイスによって、バス接続デバイスに含まれているマッピング・テーブルを使用して受信された割り込みターゲットIDをターゲット・プロセッサの論理プロセッサIDに変換することであって、このマッピング・テーブルが、ゲスト・オペレーティング・システムで使用するために割り当てられたプロセッサの割り込みターゲットIDを複数のプロセッサの論理プロセッサIDにマッピングする、変換することと、
バス接続デバイスによって、ターゲット・プロセッサを直接アドレス指定するためにターゲット・プロセッサの論理プロセッサIDを使用して、割り込み信号を処理するためにターゲット・プロセッサに転送することとを含む。
2.ターゲット・プロセッサの割り込みターゲットIDを含むメッセージ信号割り込みの形態で割り込み信号が受信される、項目1に記載の方法。
3.コンピュータ・システムがメモリをさらに備え、バス接続デバイスがメモリに操作可能なように接続されており、方法が、
バス接続デバイスによって、デバイス・テーブル・エントリのコピーをメモリに格納されているデバイス・テーブルから取り出すことであって、デバイス・テーブル・エントリが、ターゲット・プロセッサが直接アドレス指定されるかどうかを示す直接信号伝達インジケータを含む、取り出すことと、
直接信号伝達インジケータが割り込み信号の直接転送を示している場合に、ターゲット・プロセッサの論理プロセッサIDを使用してターゲット・プロセッサを直接アドレス指定する割り込み信号の転送が実行され、
そうでない場合に、バス接続デバイスによって、ブロードキャストを使用して割り込み信号を処理するために複数のプロセッサに転送することとをさらに含む、項目1または2のいずれかに記載の方法。
4.直接信号伝達インジケータが単一のビットとして実装される、項目3に記載の方法。
5.直接信号伝達インジケータが、ゲスト・オペレーティング・システムの初期化中に、ゲスト・オペレーティング・システムに対して静的インジケータとして設定される、項目3または4のいずれかに記載の方法。
6.複数のプロセッサの論理プロセッサIDへの、ゲスト・オペレーティング・システムで使用するために割り当てられたプロセッサの割り込みターゲットIDのマッピングが、マッピング・テーブルによって定義された静的マッピングである、項目3ないし5のいずれかに記載の方法。
7.バス接続デバイスが、デバイス・テーブル・エントリのコピーが、バス接続デバイスに操作可能なように接続されたローカル・キャッシュにキャッシュされているかどうかをチェックし、
デバイス・テーブル・エントリのコピーがキャッシュされている場合、デバイス・テーブル・エントリのコピーの取り出しが、各キャッシュから取り出すことであり、
そうでない場合、デバイス・テーブル・エントリの取り出しが、メモリから取り出すことである、項目3ないし6のいずれかに記載の方法。
8.メモリが、割り込み要約ベクトルをさらに含み、デバイス・テーブル・エントリが、割り込み要約ベクトルのメモリ・アドレスを示す割り込み要約ベクトル・アドレス・インジケータをさらに含み、割り込み要約ベクトルが、バス接続されたモジュールごとに割り込み要約インジケータを含み、各割り込み要約インジケータが、バス接続されたモジュールに割り当てられ、各バス接続されたモジュールによって発行された処理される割り込み信号が存在するかどうかを示し、
方法が、バス接続デバイスによって、割り込み要約ベクトルの示されたメモリ・アドレスを使用して、受信された割り込み信号の発行元であるバス接続されたモジュールに割り当てられた割り込み要約インジケータを更新し、更新された割り込み要約インジケータが、各バス接続されたモジュールによって発行された処理される割り込み信号が存在するということを示すようにすることをさらに含む、項目3ないし7のいずれかに記載の方法。
9.割り込み要約ベクトルが連続領域として実装される、項目8に記載の方法。
10.割り込み要約インジケータが単一のビットとしてそれぞれ実装される、項目8または9のいずれかに記載の方法。
11.メモリが、有向割り込み要約ベクトルをさらに含み、デバイス・テーブル・エントリが、有向割り込み要約ベクトルのメモリ・アドレスを示す有向割り込み要約ベクトル・アドレス・インジケータをさらに含み、有向割り込み要約ベクトルが、割り込みターゲットIDごとに有向割り込み要約インジケータを含み、各有向割り込み要約インジケータが、割り込みターゲットIDに割り当てられ、各割り込みターゲットIDに向けてアドレス指定された処理される割り込み信号が存在するかどうかを示し、
方法が、バス接続デバイスによって、有向割り込み要約ベクトルの示されたメモリ・アドレスを使用して、受信された割り込み信号のアドレス指定先であるターゲット・プロセッサIDに割り当てられた割り込み要約インジケータを更新し、更新された割り込み要約インジケータが、各割り込みターゲットIDに向けてアドレス指定された処理される割り込み信号が存在するということを示すようにすることをさらに含む、項目3ないし10のいずれかに記載の方法。
12.有向割り込み要約ベクトルが連続領域として実装される、項目11に記載の方法。
13.有向割り込み要約インジケータが単一のビットとしてそれぞれ実装される、項目11または12のいずれかに記載の方法。
14.メモリが1つまたは複数の割り込み信号ベクトルをさらに含み、デバイス・テーブル・エントリが、1つまたは複数の割り込み信号ベクトルのうちの1つの割り込み信号ベクトルのメモリ・アドレスを示す割り込み信号ベクトル・アドレス・インジケータをさらに含み、割り込み信号ベクトルの各々が、1つまたは複数の信号インジケータを含み、各割り込み信号インジケータが、1つまたは複数のバス接続されたモジュールのうちの1つのバス接続されたモジュールおよび割り込みターゲットIDに割り当てられ、割り込み信号が、各割り込みターゲットIDに向けてアドレス指定された各バス接続されたモジュールから受信されたかどうかを示し、
方法が、
バス接続デバイスによって、割り込み信号ベクトルの示されたメモリ・アドレスを使用して、受信された割り込み信号を発行したバス接続されたモジュール、および受信された割り込み信号のアドレス指定先である割り込みターゲットIDに割り当てられた割り込み信号インジケータを選択することと、
選択された割り込み信号インジケータが、各バス接続されたモジュールによって発行され、各割り込みターゲットIDに向けてアドレス指定された処理される割り込み信号が存在することを示すように、選択された割り込み信号インジケータを更新することとをさらに含む、項目3ないし13のいずれかに記載の方法。
15.割り込み信号ベクトルが、各割り込みターゲットIDに割り当てられた割り込みターゲットIDごとの割り込み信号インジケータをそれぞれ含み、割り込み信号ベクトルの各々が個別のバス接続されたモジュールに割り当てられ、各割り込み信号ベクトルの割り込み信号インジケータが、各個別のバス接続されたモジュールにさらに割り当てられる、項目14に記載の方法。
16.割り込み信号ベクトルが、各バス接続されたモジュールに割り当てられたバス接続されたモジュールごとの割り込み信号インジケータをそれぞれ含み、割り込み信号ベクトルの各々が個別のターゲット・プロセッサIDに割り当てられ、各割り込み信号ベクトルの割り込み信号インジケータが、各ターゲット・プロセッサIDにさらに割り当てられる、項目14に記載の方法。
17.割り込み信号ベクトルがメモリ内の連続領域としてそれぞれ実装される、項目14ないし16のいずれかに記載の方法。
18.割り込み信号インジケータが単一のビットとしてそれぞれ実装される、項目14ないし17のいずれかに記載の方法。
19.デバイス・テーブル・エントリが、ゲスト・オペレーティング・システムが割り当てられた論理パーティションを識別する論理パーティションIDをさらに含み、バス接続デバイスによる割り込み信号の転送が、割り込み信号と共に論理パーティションIDを転送することをさらに含む、項目1ないし18のいずれかに記載の方法。
20.バス接続モジュールが、論理パーティションIDごとにマッピング・テーブルを備える、項目19に記載の方法。
21.方法が、バス接続デバイスによって、受信された割り込み信号が割り当てられた割り込みサブクラスを識別する割り込みサブクラスIDを取り出すことをさらに含み、バス接続デバイスによる割り込み信号の転送が、割り込み信号と共に割り込みサブクラスIDを転送することをさらに含む、項目1ないし20のいずれかに記載の方法。
22.コンピュータ・システムのプロセッサが、複数のゲスト・オペレーティング・システムを実行するように適合され、バス接続デバイスが、複数のゲスト・オペレーティング・システムのゲスト・オペレーティング・システムごとにマッピング・テーブルを備える、項目1ないし21のいずれかに記載の方法。
23.バス接続デバイスによって、メモリ内のバス接続されたモジュールの状態情報を更新するためのダイレクト・メモリ・アクセスの要求をバス接続されたモジュールから受信することであって、バス接続されたモジュールの状態更新が割り込み信号をトリガーする、受信することと、
この要求の受信時に、バス接続デバイスによって、メモリへのダイレクト・メモリ・アクセスを実行して、メモリ内のバス接続されたモジュールの状態情報を更新することとをさらに含む、項目1ないし22のいずれかに記載の方法。
24.ゲスト・オペレーティング・システムで使用するために割り当てられたコンピュータ・システムの複数のプロセッサのうちの1つまたは複数のプロセッサを使用して実行されるゲスト・オペレーティング・システムに割り込み信号を提供するためのコンピュータ・システムであって、このコンピュータ・システムが、バスおよびバス接続デバイスを介して複数のプロセッサに操作可能なように接続されている1つまたは複数のバス接続されたモジュールをさらに備え、
複数のプロセッサの各プロセッサに、各プロセッサをアドレス指定するためにバス接続デバイスによって使用される論理プロセッサIDが割り当てられており、
ゲスト・オペレーティング・システムで使用するために割り当てられた複数のプロセッサの各プロセッサに、各プロセッサをアドレス指定するためにゲスト・オペレーティング・システムおよび1つまたは複数のバス接続されたモジュールによって使用される割り込みターゲットIDがさらに割り当てられており、
このコンピュータ・システムが、
バス接続デバイスによって、バス接続されたモジュールのうちの1つから割り込みターゲットIDと共に割り込み信号を受信することであって、この割り込みターゲットIDが、ゲスト・オペレーティング・システムで使用するために割り当てられたプロセッサのうちの1つを、割り込み信号を処理するためのターゲット・プロセッサとして識別する、受信することと、
バス接続デバイスによって、バス接続デバイスに含まれているマッピング・テーブルを使用して受信された割り込みターゲットIDをターゲット・プロセッサの論理プロセッサIDに変換することであって、このマッピング・テーブルが、ゲスト・オペレーティング・システムで使用するために割り当てられたプロセッサの割り込みターゲットIDを複数のプロセッサの論理プロセッサIDにマッピングする、変換することと、
バス接続デバイスによって、ターゲット・プロセッサを直接アドレス指定するためにターゲット・プロセッサの論理プロセッサIDを使用して、割り込み信号を処理するためにターゲット・プロセッサに転送することとを含む方法を実行するように構成される、コンピュータ・システム。
25.ゲスト・オペレーティング・システムで使用するために割り当てられたコンピュータ・システムの複数のプロセッサのうちの1つまたは複数のプロセッサを使用して実行されるゲスト・オペレーティング・システムに割り込み信号を提供するためのコンピュータ・プログラム製品であって、このコンピュータ・システムが、バスおよびバス接続デバイスを介して複数のプロセッサに操作可能なように接続されている1つまたは複数のバス接続されたモジュールをさらに備え、
複数のプロセッサの各プロセッサに、各プロセッサをアドレス指定するためにバス接続デバイスによって使用される論理プロセッサIDが割り当てられており、
ゲスト・オペレーティング・システムで使用するために割り当てられた複数のプロセッサの各プロセッサに、各プロセッサをアドレス指定するためにゲスト・オペレーティング・システムおよび1つまたは複数のバス接続されたモジュールによって使用される割り込みターゲットIDがさらに割り当てられており、
このコンピュータ・プログラム製品が、処理回路によって読み取り可能な、方法を実行するために処理回路によって実行される命令を格納しているコンピュータ可読の非一過性媒体を備え、この方法が、
バス接続デバイスによって、バス接続されたモジュールのうちの1つから割り込みターゲットIDと共に割り込み信号を受信することであって、この割り込みターゲットIDが、ゲスト・オペレーティング・システムで使用するために割り当てられたプロセッサのうちの1つを、割り込み信号を処理するためのターゲット・プロセッサとして識別する、受信することと、
バス接続デバイスによって、バス接続デバイスに含まれているマッピング・テーブルを使用して受信された割り込みターゲットIDをターゲット・プロセッサの論理プロセッサIDに変換することであって、このマッピング・テーブルが、ゲスト・オペレーティング・システムで使用するために割り当てられたプロセッサの割り込みターゲットIDを複数のプロセッサの論理プロセッサIDにマッピングする、変換することと、
バス接続デバイスによって、ターゲット・プロセッサを直接アドレス指定するためにターゲット・プロセッサの論理プロセッサIDを使用して、割り込み信号を処理するためにターゲット・プロセッサに転送することとを含む、コンピュータ・プログラム製品。
Claims (24)
- ゲスト・オペレーティング・システムで使用するために割り当てられたコンピュータ・システムの複数のプロセッサのうちの1つまたは複数のプロセッサを使用して実行される前記ゲスト・オペレーティング・システムに割り込み信号を提供するための方法であって、前記コンピュータ・システムが、バスおよびバス接続デバイスを介して前記複数のプロセッサに操作可能なように接続されている1つまたは複数のバス接続されたモジュールをさらに備え、
前記複数のプロセッサの各プロセッサに、前記各プロセッサをアドレス指定するために前記バス接続デバイスによって使用される論理プロセッサIDが割り当てられており、
前記ゲスト・オペレーティング・システムで使用するために割り当てられた前記複数のプロセッサの各プロセッサに、前記各プロセッサをアドレス指定するために前記ゲスト・オペレーティング・システムおよび前記1つまたは複数のバス接続されたモジュールによって使用される割り込みターゲットIDがさらに割り当てられており、
前記方法が、
前記バス接続デバイスによって、前記バス接続されたモジュールのうちの1つから割り込みターゲットIDと共に割り込み信号を受信することであって、前記割り込みターゲットIDが、前記ゲスト・オペレーティング・システムで使用するために割り当てられた前記プロセッサのうちの1つを、前記割り込み信号を処理するためのターゲット・プロセッサとして識別する、前記受信することと、
前記バス接続デバイスによって、前記バス接続デバイスに含まれているマッピング・テーブルを使用して前記受信された割り込みターゲットIDを前記ターゲット・プロセッサの論理プロセッサIDに変換することであって、前記マッピング・テーブルが、前記ゲスト・オペレーティング・システムで使用するために割り当てられた前記プロセッサの前記割り込みターゲットIDを前記複数のプロセッサの論理プロセッサIDにマッピングする、前記変換することと、
前記バス接続デバイスによって、前記ターゲット・プロセッサを直接アドレス指定するために前記ターゲット・プロセッサの前記論理プロセッサIDを使用して、前記割り込み信号を処理するために前記ターゲット・プロセッサに転送することを含み、
前記コンピュータ・システムの前記プロセッサが、複数のゲスト・オペレーティング・システムを実行するように適合され、前記バス接続デバイスが、前記複数のゲスト・オペレーティング・システムのゲスト・オペレーティング・システムごとにマッピング・テーブルを備える、方法。 - 前記ターゲット・プロセッサの前記割り込みターゲットIDを含むメッセージ信号割り込みの形態で前記割り込み信号が受信される、請求項1に記載の方法。
- 前記コンピュータ・システムがメモリをさらに備え、前記バス接続デバイスが前記メモリに操作可能なように接続されており、前記方法が、
前記バス接続デバイスによって、デバイス・テーブル・エントリのコピーを前記メモリに格納されているデバイス・テーブルから取り出すことであって、前記デバイス・テーブル・エントリが、前記ターゲット・プロセッサが直接アドレス指定されるかどうかを示す直接信号伝達インジケータを含む、前記取り出すことと、
前記直接信号伝達インジケータが前記割り込み信号の直接転送を示している場合に、前記ターゲット・プロセッサの論理プロセッサIDを使用して前記ターゲット・プロセッサを直接アドレス指定する前記割り込み信号の前記転送が実行され、
そうでない場合に、前記バス接続デバイスによって、ブロードキャストを使用して、前記割り込み信号を処理するために前記複数のプロセッサに転送することをさらに含む、請求項1に記載の方法。 - 前記直接信号伝達インジケータが単一のビットとして実装される、請求項3に記載の方法。
- 前記直接信号伝達インジケータが、前記ゲスト・オペレーティング・システムの初期化中に、前記ゲスト・オペレーティング・システムに対して静的インジケータとして設定される、請求項3に記載の方法。
- 前記複数のプロセッサの論理プロセッサIDへの、前記ゲスト・オペレーティング・システムで使用するために割り当てられた前記プロセッサの前記割り込みターゲットIDの前記マッピングが、前記マッピング・テーブルによって定義された静的マッピングである、請求項3に記載の方法。
- 前記バス接続デバイスが、前記デバイス・テーブル・エントリの前記コピーが、前記バス接続デバイスに操作可能なように接続されたローカル・キャッシュにキャッシュされているかどうかをチェックし、
前記デバイス・テーブル・エントリの前記コピーがキャッシュされている場合、前記デバイス・テーブル・エントリの前記コピーの前記取り出しが、前記各キャッシュから取り出すことであり、
そうでない場合、前記デバイス・テーブル・エントリの前記取り出しが、前記メモリから取り出すことである、請求項3に記載の方法。 - 前記メモリが、割り込み要約ベクトルをさらに含み、前記デバイス・テーブル・エントリが、前記割り込み要約ベクトルのメモリ・アドレスを示す割り込み要約ベクトル・アドレス・インジケータをさらに含み、前記割り込み要約ベクトルが、バス接続されたモジュールごとに割り込み要約インジケータを含み、各割り込み要約インジケータが、バス接続されたモジュールに割り当てられ、前記各バス接続されたモジュールによって発行された処理される割り込み信号が存在するかどうかを示し、
前記方法が、前記バス接続デバイスによって、前記割り込み要約ベクトルの前記示されたメモリ・アドレスを使用して、受信された前記割り込み信号の発行元である前記バス接続されたモジュールに割り当てられた前記割り込み要約インジケータを更新し、前記更新された割り込み要約インジケータが、前記各バス接続されたモジュールによって発行された処理される割り込み信号が存在するということを示すようにすることをさらに含む、請求項3に記載の方法。 - 前記割り込み要約ベクトルが連続領域として実装される、請求項8に記載の方法。
- 前記割り込み要約インジケータが単一のビットとしてそれぞれ実装される、請求項8に記載の方法。
- 前記メモリが、有向割り込み要約ベクトルをさらに含み、前記デバイス・テーブル・エントリが、前記有向割り込み要約ベクトルのメモリ・アドレスを示す有向割り込み要約ベクトル・アドレス・インジケータをさらに含み、前記有向割り込み要約ベクトルが、割り込みターゲットIDごとに有向割り込み要約インジケータを含み、各有向割り込み要約インジケータが、割り込みターゲットIDに割り当てられ、前記各割り込みターゲットIDに向けてアドレス指定された処理される割り込み信号が存在するかどうかを示し、
前記方法が、前記バス接続デバイスによって、前記有向割り込み要約ベクトルの前記示されたメモリ・アドレスを使用して、前記受信された割り込み信号のアドレス指定先である前記割り込みターゲットIDに割り当てられた前記割り込み要約インジケータを更新し、前記更新された割り込み要約インジケータが、前記各割り込みターゲットIDに向けてアドレス指定された処理される割り込み信号が存在するということを示すようにすることをさらに含む、請求項3に記載の方法。 - 前記有向割り込み要約ベクトルが連続領域として実装される、請求項11に記載の方法。
- 前記有向割り込み要約インジケータが単一のビットとしてそれぞれ実装される、請求項11に記載の方法。
- 前記メモリが1つまたは複数の割り込み信号ベクトルをさらに含み、前記デバイス・テーブル・エントリが、前記1つまたは複数の割り込み信号ベクトルのうちの1つの割り込み信号ベクトルのメモリ・アドレスを示す割り込み信号ベクトル・アドレス・インジケータをさらに含み、前記割り込み信号ベクトルの各々が、1つまたは複数の信号インジケータを含み、各割り込み信号インジケータが、前記1つまたは複数のバス接続されたモジュールのうちの1つのバス接続されたモジュールおよび割り込みターゲットIDに割り当てられ、割り込み信号が、前記各割り込みターゲットIDに向けてアドレス指定された前記各バス接続されたモジュールから受信されたかどうかを示し、
前記方法が、
前記バス接続デバイスによって、前記割り込み信号ベクトルの前記示されたメモリ・アドレスを使用して、前記受信された割り込み信号を発行した前記バス接続されたモジュール、および前記受信された割り込み信号のアドレス指定先である前記割り込みターゲットIDに割り当てられた前記割り込み信号インジケータを選択することと、
前記選択された割り込み信号インジケータが、前記各バス接続されたモジュールによって発行され、前記各割り込みターゲットIDに向けてアドレス指定された処理される割り込み信号が存在することを示すように、前記選択された割り込み信号インジケータを更新することをさらに含む、請求項3に記載の方法。 - 前記割り込み信号ベクトルが、前記各割り込みターゲットIDに割り当てられた割り込みターゲットIDごとの割り込み信号インジケータをそれぞれ含み、前記割り込み信号ベクトルの各々が個別のバス接続されたモジュールに割り当てられ、前記各割り込み信号ベクトルの前記割り込み信号インジケータが、前記各個別のバス接続されたモジュールにさらに割り当てられる、請求項14に記載の方法。
- 前記割り込み信号ベクトルが、前記各バス接続されたモジュールに割り当てられたバス接続されたモジュールごとの割り込み信号インジケータをそれぞれ含み、前記割り込み信号ベクトルの各々が個別のターゲット・プロセッサIDに割り当てられ、前記各割り込み信号ベクトルの前記割り込み信号インジケータが、前記各ターゲット・プロセッサIDにさらに割り当てられる、請求項14に記載の方法。
- 前記割り込み信号ベクトルがメモリ内の連続領域としてそれぞれ実装される、請求項14に記載の方法。
- 前記割り込み信号インジケータが単一のビットとしてそれぞれ実装される、請求項14に記載の方法。
- 前記デバイス・テーブル・エントリが、前記ゲスト・オペレーティング・システムが割り当てられた論理パーティションを識別する論理パーティションIDをさらに含み、前記バス接続デバイスによる前記割り込み信号の前記転送が、前記割り込み信号と共に前記論理パーティションIDを転送することをさらに含む、請求項3に記載の方法。
- 前記バス接続デバイスが、論理パーティションIDごとにマッピング・テーブルを備える、請求項19に記載の方法。
- 前記方法が、前記バス接続デバイスによって、前記受信された割り込み信号が割り当てられた割り込みサブクラスを識別する割り込みサブクラスIDを取り出すことをさらに含み、前記バス接続デバイスによる前記割り込み信号の前記転送が、前記割り込み信号と共に前記割り込みサブクラスIDを転送することをさらに含む、請求項1に記載の方法。
- 前記バス接続デバイスによって、前記メモリ内の前記バス接続されたモジュールの状態情報を更新するためのダイレクト・メモリ・アクセスの要求を前記バス接続されたモジュールから受信することであって、前記バス接続されたモジュールの状態更新が前記割り込み信号をトリガーする、前記受信することと、
前記要求の受信時に、前記バス接続デバイスによって、前記メモリへの前記ダイレクト・メモリ・アクセスを実行して、前記メモリ内の前記バス接続されたモジュールの前記状態情報を更新することをさらに含む、請求項3に記載の方法。 - 請求項1~22の何れか1項に記載の方法をコンピュータ・ハードウェアによる手段として構成した、コンピュータ・システム。
- 請求項1~22の何れか1項に記載の方法をコンピュータに実行させる、コンピュータ・プログラム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP19157093 | 2019-02-14 | ||
EP19157093.6 | 2019-02-14 | ||
PCT/EP2020/050500 WO2020164820A1 (en) | 2019-02-14 | 2020-01-10 | Directed interrupt virtualization |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2022520713A JP2022520713A (ja) | 2022-04-01 |
JP7335339B2 true JP7335339B2 (ja) | 2023-08-29 |
Family
ID=65440824
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021540052A Active JP7335339B2 (ja) | 2019-02-14 | 2020-01-10 | 有向割り込みの仮想化方法、システム、プログラム |
Country Status (5)
Country | Link |
---|---|
US (2) | US11036661B2 (ja) |
EP (1) | EP3924817A1 (ja) |
JP (1) | JP7335339B2 (ja) |
CN (1) | CN113454590A (ja) |
WO (1) | WO2020164820A1 (ja) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7459119B2 (ja) | 2019-02-14 | 2024-04-01 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 割り込みテーブルを使用したマルチレベルの仮想化のための有向割り込み方法、システム、プログラム |
CN113454591A (zh) | 2019-02-14 | 2021-09-28 | 国际商业机器公司 | 具有阻止指示符的定向中断虚拟化 |
JP7450627B2 (ja) | 2019-02-14 | 2024-03-15 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 実行中インジケータを使用した有向割り込みの仮想化方法、システム、プログラム |
TWI727607B (zh) | 2019-02-14 | 2021-05-11 | 美商萬國商業機器公司 | 用於具有中斷表之經引導中斷虛擬化之方法、電腦系統及電腦程式產品 |
TWI759677B (zh) | 2019-02-14 | 2022-04-01 | 美商萬國商業機器公司 | 用於具有回退之經引導中斷虛擬化之方法、電腦系統及電腦程式產品 |
AU2020222167B2 (en) | 2019-02-14 | 2022-09-22 | International Business Machines Corporation | Directed interrupt for multilevel virtualization |
JP7335339B2 (ja) | 2019-02-14 | 2023-08-29 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 有向割り込みの仮想化方法、システム、プログラム |
TWI764082B (zh) | 2019-02-14 | 2022-05-11 | 美商萬國商業機器公司 | 用於經引導中斷虛擬化之中斷信號之方法、電腦系統及電腦程式產品 |
US20230266919A1 (en) * | 2022-02-18 | 2023-08-24 | Seagate Technology Llc | Hint-based fast data operations with replication in object-based storage |
CN118260224A (zh) * | 2022-12-28 | 2024-06-28 | 华为技术有限公司 | 上报中断的方法、中断的配置方法和装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007183951A (ja) | 2005-12-30 | 2007-07-19 | Intel Corp | 仮想プロセッサへの直接的なインタラプトの送信 |
JP2010113667A (ja) | 2008-11-10 | 2010-05-20 | Renesas Technology Corp | 情報処理装置 |
JP2010250453A (ja) | 2009-04-14 | 2010-11-04 | Hitachi Ltd | 計算機システム、割込み中継回路及び割込み中継方法 |
JP2013519170A (ja) | 2010-02-05 | 2013-05-23 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | ゲストローカル割込みコントローラを仮想化するように構成されたプロセッサ |
JP2013537656A (ja) | 2010-06-23 | 2013-10-03 | インターナショナル・ビジネス・マシーンズ・コーポレーション | アダプタ割り込み要求が処理される速度の制御 |
Family Cites Families (60)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE4037723C2 (de) | 1990-11-27 | 1995-04-06 | Siemens Ag | Verfahren zum Übermitteln von an mehreren Datenschnittstellen einer prozessorgesteuerten Einrichtung vorliegenden Informationen an deren Prozessoreinrichtung |
GB2339035B (en) | 1998-04-29 | 2002-08-07 | Sgs Thomson Microelectronics | A method and system for transmitting interrupts |
US7620955B1 (en) | 2001-06-08 | 2009-11-17 | Vmware, Inc. | High-performance virtual machine networking |
US20030204655A1 (en) | 2002-04-24 | 2003-10-30 | Schmisseur Mark A. | Prioritizing vector generation in interrupt controllers |
US7028302B2 (en) | 2002-04-24 | 2006-04-11 | Hewlett-Packard Development Company, L.P. | System and method for automatically tuning a multiprocessor computer system |
US7281075B2 (en) * | 2003-04-24 | 2007-10-09 | International Business Machines Corporation | Virtualization of a global interrupt queue |
US20050080982A1 (en) | 2003-08-20 | 2005-04-14 | Vasilevsky Alexander D. | Virtual host bus adapter and method |
US7222203B2 (en) | 2003-12-08 | 2007-05-22 | Intel Corporation | Interrupt redirection for virtual partitioning |
US7386640B2 (en) | 2004-12-28 | 2008-06-10 | Intel Corporation | Method, apparatus and system to generate an interrupt by monitoring an external interface |
US8238376B2 (en) | 2005-04-13 | 2012-08-07 | Sony Corporation | Synchronized audio/video decoding for network devices |
US7447820B2 (en) | 2005-09-30 | 2008-11-04 | Intel Corporation | Retargeting of platform interrupts |
US9032127B2 (en) | 2006-09-14 | 2015-05-12 | Hewlett-Packard Development Company, L.P. | Method of balancing I/O device interrupt service loading in a computer system |
US20080162762A1 (en) | 2006-12-29 | 2008-07-03 | Gilbert Neiger | Interrupt remapping based on requestor identification |
US8453143B2 (en) | 2007-09-19 | 2013-05-28 | Vmware, Inc. | Reducing the latency of virtual interrupt delivery in virtual machines |
JP5108975B2 (ja) * | 2008-04-28 | 2012-12-26 | ヒューレット−パッカード デベロップメント カンパニー エル.ピー. | 仮想割り込みモードインターフェース及び割り込みモードを仮想化するための方法 |
US7849247B2 (en) | 2008-10-14 | 2010-12-07 | Freescale Semiconductor, Inc. | Interrupt controller for accelerated interrupt handling in a data processing system and method thereof |
CN101427916B (zh) | 2008-12-05 | 2012-02-22 | 张锦景 | 电生理数据与病理图像监测的移动网络终端装置及方法 |
US8635387B2 (en) | 2009-10-09 | 2014-01-21 | Emulex Design & Manufacturing Corporation | Enhanced I/O performance in a multi-processor system via interrupt affinity schemes |
US8566492B2 (en) * | 2009-12-31 | 2013-10-22 | Intel Corporation | Posting interrupts to virtual processors |
US8381002B2 (en) * | 2010-06-23 | 2013-02-19 | International Business Machines Corporation | Transparently increasing power savings in a power management environment |
KR20120042354A (ko) | 2010-10-25 | 2012-05-03 | 한국전자통신연구원 | 위성통신 시스템용 중심국의 이중모드 망동기 장치 및 그 방법 |
CN102184122B (zh) | 2011-05-16 | 2014-04-23 | 曙光信息产业股份有限公司 | 一种龙芯CPU主板bios及中断的实现方法 |
US8495267B2 (en) | 2010-11-24 | 2013-07-23 | International Business Machines Corporation | Managing shared computer memory using multiple interrupts |
US8612659B1 (en) | 2010-12-14 | 2013-12-17 | Vmware, Inc. | Hardware interrupt arbitration in virtualized computer systems |
US8601194B2 (en) | 2011-02-08 | 2013-12-03 | Red Hat Israel, Ltd. | On-demand interrupt vector allocation based on activity detection |
US8631181B2 (en) * | 2011-09-26 | 2014-01-14 | Oracle International Corporation | Validating message-signaled interrupts by tracking interrupt vectors assigned to devices |
US8874786B2 (en) | 2011-10-25 | 2014-10-28 | Dell Products L.P. | Network traffic control by association of network packets and processes |
US8910158B2 (en) | 2011-12-14 | 2014-12-09 | Intel Corporation | Virtualizing interrupt priority and delivery |
TWI537877B (zh) | 2011-12-30 | 2016-06-11 | 群光電子股份有限公司 | 膚色偵測方法及系統 |
US9286472B2 (en) | 2012-05-22 | 2016-03-15 | Xockets, Inc. | Efficient packet handling, redirection, and inspection using offload processors |
US9740549B2 (en) | 2012-06-15 | 2017-08-22 | International Business Machines Corporation | Facilitating transaction completion subsequent to repeated aborts of the transaction |
US9436626B2 (en) | 2012-08-09 | 2016-09-06 | Freescale Semiconductor, Inc. | Processor interrupt interface with interrupt partitioning and virtualization enhancements |
US9043521B2 (en) | 2012-11-13 | 2015-05-26 | Intel Corporation | Technique for communicating interrupts in a computer system |
US10078603B2 (en) * | 2012-11-30 | 2018-09-18 | Red Hat Israel, Ltd. | MSI events using dynamic memory monitoring |
EP2951705A4 (en) | 2013-01-29 | 2016-11-02 | Hewlett Packard Development Co | ASSIGNING PROCESSORS TO MEMORY TOPOGRAPHY CONFIGURATION |
US9235538B2 (en) * | 2013-02-07 | 2016-01-12 | Red Hat Israel, Ltd. | Injecting interrupts in virtualized computer systems |
US9830286B2 (en) * | 2013-02-14 | 2017-11-28 | Red Hat Israel, Ltd. | Event signaling in virtualized systems |
US9378162B2 (en) * | 2013-05-21 | 2016-06-28 | Arm Limited | Handling and routing interrupts to virtual processors |
US9384132B2 (en) | 2013-06-28 | 2016-07-05 | Intel Corporation | Emulated message signaled interrupts in a virtualization environment |
US9465760B2 (en) * | 2013-11-18 | 2016-10-11 | Futurewei Technologies, Inc. | Method and apparatus for delivering MSI-X interrupts through non-transparent bridges to computing resources in PCI-express clusters |
US9756118B2 (en) | 2014-04-28 | 2017-09-05 | Vmware, Inc. | Virtual performance monitoring decoupled from hardware performance-monitoring units |
US9507740B2 (en) * | 2014-06-10 | 2016-11-29 | Oracle International Corporation | Aggregation of interrupts using event queues |
US9772868B2 (en) | 2014-09-16 | 2017-09-26 | Industrial Technology Research Institute | Method and system for handling interrupts in a virtualized environment |
US9910699B2 (en) | 2014-10-28 | 2018-03-06 | Intel Corporation | Virtual processor direct interrupt delivery mechanism |
US9697029B2 (en) | 2014-10-30 | 2017-07-04 | Red Hat Israel, Ltd. | Guest idle based VM request completion processing |
US9952987B2 (en) | 2014-11-25 | 2018-04-24 | Intel Corporation | Posted interrupt architecture |
US9910700B2 (en) | 2015-08-26 | 2018-03-06 | Netapp, Inc. | Migration between CPU cores |
KR102509986B1 (ko) * | 2016-03-28 | 2023-03-14 | 삼성전자주식회사 | 다중 코어 프로세서 및 다중 코어 프로세서를 제어하는 방법 |
US10282327B2 (en) | 2017-01-19 | 2019-05-07 | International Business Machines Corporation | Test pending external interruption instruction |
US10210112B2 (en) | 2017-06-06 | 2019-02-19 | International Business Machines Corporation | Techniques for issuing interrupts in a data processing system with multiple scopes |
US20180356964A1 (en) | 2017-06-07 | 2018-12-13 | Sitting Man, Llc | Methods, systems, and computer program products for intergrating configuration, monitoring, and operations |
US10838760B2 (en) * | 2017-11-29 | 2020-11-17 | Nxp Usa, Inc. | Systems and methods for interrupt distribution |
JP7450627B2 (ja) | 2019-02-14 | 2024-03-15 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 実行中インジケータを使用した有向割り込みの仮想化方法、システム、プログラム |
JP7459119B2 (ja) | 2019-02-14 | 2024-04-01 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 割り込みテーブルを使用したマルチレベルの仮想化のための有向割り込み方法、システム、プログラム |
CN113454591A (zh) | 2019-02-14 | 2021-09-28 | 国际商业机器公司 | 具有阻止指示符的定向中断虚拟化 |
JP7335339B2 (ja) | 2019-02-14 | 2023-08-29 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 有向割り込みの仮想化方法、システム、プログラム |
AU2020222167B2 (en) | 2019-02-14 | 2022-09-22 | International Business Machines Corporation | Directed interrupt for multilevel virtualization |
TWI759677B (zh) | 2019-02-14 | 2022-04-01 | 美商萬國商業機器公司 | 用於具有回退之經引導中斷虛擬化之方法、電腦系統及電腦程式產品 |
TWI764082B (zh) | 2019-02-14 | 2022-05-11 | 美商萬國商業機器公司 | 用於經引導中斷虛擬化之中斷信號之方法、電腦系統及電腦程式產品 |
TWI727607B (zh) | 2019-02-14 | 2021-05-11 | 美商萬國商業機器公司 | 用於具有中斷表之經引導中斷虛擬化之方法、電腦系統及電腦程式產品 |
-
2020
- 2020-01-10 JP JP2021540052A patent/JP7335339B2/ja active Active
- 2020-01-10 CN CN202080014373.8A patent/CN113454590A/zh active Pending
- 2020-01-10 WO PCT/EP2020/050500 patent/WO2020164820A1/en unknown
- 2020-01-10 EP EP20700210.6A patent/EP3924817A1/en active Pending
- 2020-02-13 US US16/789,504 patent/US11036661B2/en active Active
-
2021
- 2021-04-20 US US17/234,966 patent/US11249927B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007183951A (ja) | 2005-12-30 | 2007-07-19 | Intel Corp | 仮想プロセッサへの直接的なインタラプトの送信 |
JP2010113667A (ja) | 2008-11-10 | 2010-05-20 | Renesas Technology Corp | 情報処理装置 |
JP2010250453A (ja) | 2009-04-14 | 2010-11-04 | Hitachi Ltd | 計算機システム、割込み中継回路及び割込み中継方法 |
JP2013519170A (ja) | 2010-02-05 | 2013-05-23 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | ゲストローカル割込みコントローラを仮想化するように構成されたプロセッサ |
JP2013537656A (ja) | 2010-06-23 | 2013-10-03 | インターナショナル・ビジネス・マシーンズ・コーポレーション | アダプタ割り込み要求が処理される速度の制御 |
Also Published As
Publication number | Publication date |
---|---|
WO2020164820A1 (en) | 2020-08-20 |
US20200264992A1 (en) | 2020-08-20 |
EP3924817A1 (en) | 2021-12-22 |
JP2022520713A (ja) | 2022-04-01 |
US11249927B2 (en) | 2022-02-15 |
US20210255975A1 (en) | 2021-08-19 |
US11036661B2 (en) | 2021-06-15 |
CN113454590A (zh) | 2021-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7335339B2 (ja) | 有向割り込みの仮想化方法、システム、プログラム | |
JP7324287B2 (ja) | 割り込みテーブルを使用した有向割り込みの仮想化方法、システム、プログラム | |
JP7379502B2 (ja) | フォールバックを伴う有向割り込みの仮想化方法、システム、プログラム | |
JP7459119B2 (ja) | 割り込みテーブルを使用したマルチレベルの仮想化のための有向割り込み方法、システム、プログラム | |
JP7398465B2 (ja) | 有向割り込みの仮想化のための割り込み信号伝達方法、システム、プログラム | |
JP7450627B2 (ja) | 実行中インジケータを使用した有向割り込みの仮想化方法、システム、プログラム | |
JP5719435B2 (ja) | メッセージ信号割り込みのi/oアダプタ・イベント通知への変換 | |
JP7482882B2 (ja) | マルチレベルの仮想化のための有向割り込み方法、システム、プログラム | |
JP7448550B2 (ja) | ブロッキング・インジケータを使用した有向割り込みの仮想化方法、システム、プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220128 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20220512 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220622 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230425 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20230419 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20230622 |
|
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: 20230809 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230817 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7335339 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |