JP7450627B2 - 実行中インジケータを使用した有向割り込みの仮想化方法、システム、プログラム - Google Patents
実行中インジケータを使用した有向割り込みの仮想化方法、システム、プログラム Download PDFInfo
- Publication number
- JP7450627B2 JP7450627B2 JP2021541142A JP2021541142A JP7450627B2 JP 7450627 B2 JP7450627 B2 JP 7450627B2 JP 2021541142 A JP2021541142 A JP 2021541142A JP 2021541142 A JP2021541142 A JP 2021541142A JP 7450627 B2 JP7450627 B2 JP 7450627B2
- Authority
- JP
- Japan
- Prior art keywords
- interrupt
- processor
- target
- bus
- indicator
- 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
- 238000000034 method Methods 0.000 claims description 161
- 239000013598 vector Substances 0.000 claims description 92
- 238000012545 processing Methods 0.000 claims description 88
- 230000000903 blocking effect Effects 0.000 claims description 37
- 238000005192 partition Methods 0.000 claims description 31
- 238000013507 mapping Methods 0.000 claims description 24
- 238000013519 translation Methods 0.000 claims description 24
- 230000011664 signaling Effects 0.000 claims description 23
- 238000012546 transfer Methods 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 13
- 238000010168 coupling process Methods 0.000 claims description 4
- 238000005859 coupling reaction Methods 0.000 claims description 4
- 238000003860 storage Methods 0.000 description 56
- 238000010586 diagram Methods 0.000 description 50
- 230000006870 function Effects 0.000 description 42
- 230000014616 translation Effects 0.000 description 22
- 230000009286 beneficial effect Effects 0.000 description 16
- 230000008859 change Effects 0.000 description 13
- 230000004044 response Effects 0.000 description 13
- 230000008569 process Effects 0.000 description 12
- 230000008901 benefit Effects 0.000 description 9
- 230000007246 mechanism Effects 0.000 description 9
- 238000006243 chemical reaction Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 8
- 230000000694 effects Effects 0.000 description 8
- 238000007667 floating Methods 0.000 description 7
- 238000012986 modification Methods 0.000 description 7
- 230000004048 modification Effects 0.000 description 7
- 230000002093 peripheral effect Effects 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 6
- 239000000872 buffer Substances 0.000 description 6
- 230000000295 complement effect Effects 0.000 description 4
- 230000003993 interaction Effects 0.000 description 3
- 230000007774 longterm Effects 0.000 description 3
- 230000001902 propagating effect Effects 0.000 description 3
- 238000011084 recovery Methods 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000006073 displacement reaction Methods 0.000 description 2
- 230000007717 exclusion Effects 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000008685 targeting Effects 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 238000012884 algebraic function Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 238000010926 purge Methods 0.000 description 1
- 230000002829 reductive effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 210000003813 thumb Anatomy 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 230000001052 transient effect Effects 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/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/45545—Guest-host, i.e. hypervisor is an application program itself, e.g. VirtualBox
-
- 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
- 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
-
- 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- 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/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- 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
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)
- Multi Processors (AREA)
- Bus Control (AREA)
Description
1.ゲスト・オペレーティング・システムで使用するために割り当てられたコンピュータ・システムの複数のプロセッサのうちの1つまたは複数のプロセッサを使用して実行されるゲスト・オペレーティング・システムに割り込み信号を提供するための方法であって、このコンピュータ・システムが、バスおよびバス接続デバイスを介して複数のプロセッサに操作可能なように接続されている1つまたは複数のバス接続されたモジュールをさらに備え、このコンピュータ・システムが、バス接続デバイスに操作可能なように接続されたメモリをさらに備え、
複数のプロセッサの各プロセッサに、各プロセッサをアドレス指定するためにバス接続デバイスによって使用される論理プロセッサIDが割り当てられており、
ゲスト・オペレーティング・システムで使用するために割り当てられた複数のプロセッサの各プロセッサに、各プロセッサをアドレス指定するためにゲスト・オペレーティング・システムおよび1つまたは複数のバス接続されたモジュールによって使用される割り込みターゲットIDがさらに割り当てられており、
方法が、
バス接続デバイスによって、バス接続されたモジュールのうちの1つから割り込みターゲットIDと共に割り込み信号を受信することであって、この割り込みターゲットIDが、ゲスト・オペレーティング・システムで使用するために割り当てられたプロセッサのうちの1つを、割り込み信号を処理するためのターゲット・プロセッサとして識別する、受信することと、
バス接続デバイスによって、メモリに格納されている割り込みテーブルから、受信された割り込みターゲットIDに割り当てられた割り込みテーブル・エントリの第1のコピーを取り出すことであって、割り込みテーブル・エントリの第1のコピーが、割り込みターゲットIDによって識別されたターゲット・プロセッサがゲスト・オペレーティング・システムで使用するためにスケジューリングされているかどうかを示す実行中インジケータの第1のコピーを含む、取り出すことと、
バス接続デバイスによって、実行中インジケータの第1のコピーを使用して、ターゲット・プロセッサがゲスト・オペレーティング・システムで使用するためにスケジューリングされているかどうかをチェックし、
ターゲット・プロセッサがゲスト・オペレーティング・システムで使用するためにスケジューリングされている場合に、バス接続デバイスによって、受信された割り込みターゲットIDを論理プロセッサIDに変換し、ターゲット・プロセッサを直接アドレス指定するために変換から得られた論理プロセッサIDを使用して、割り込み信号を処理するためにターゲット・プロセッサに転送し、
そうでない場合に、バス接続デバイスによって、ブロードキャストを使用して割り込み信号を処理するために複数のプロセッサに転送することとを含む、方法。
2.実行中インジケータが単一のビットとして実装される、項目1に記載の方法。
3.ターゲット・プロセッサの割り込みターゲットIDを含むメッセージ信号割り込みの形態で割り込み信号が受信される、項目1または2のいずれかに記載の方法。
4.割り込みテーブル・エントリの第1のコピーが、論理プロセッサIDのうちの第1の1つへの受信された割り込みターゲットIDの第1のマッピングをさらに含み、バス接続デバイスが、ターゲット・プロセッサの論理プロセッサIDへの受信された割り込みターゲットIDの変換のために、割り込みテーブル・エントリの第1のコピーを使用する、項目1ないし3のいずれかに記載の方法。
5.割り込みテーブル・エントリの第1のコピーが、割り込みターゲットIDによって識別されたターゲット・プロセッサが割り込み信号を受信することを現在ブロックされているかどうかを示す割り込みブロッキング・インジケータをさらに含み、方法が、
バス接続デバイスによって、割り込みブロッキング・インジケータを使用して、ターゲット・プロセッサが割り込み信号を受信することをブロックされているかどうかをチェックし、
ターゲット・プロセッサがブロックされていない場合は、割り込み信号の転送を続行し、
ターゲット・プロセッサがブロックされている場合は、バス接続デバイスによって、割り込み信号が処理のためにターゲット・プロセッサに転送されるのをブロックすることをさらに含む、項目1ないし4のいずれかに記載の方法。
6.バス接続デバイスによって、ブロードキャストを使用して、割り込み信号を処理するために複数のプロセッサのうちの残りのプロセッサに転送することをさらに含む、項目5に記載の方法。
7.ゲスト・オペレーティング・システムの割り込みハンドラによって、ターゲット・プロセッサによって処理するためにターゲット・プロセッサに向けてアドレス指定された割り込みが保留中であるかどうかをチェックし、ターゲット・プロセッサによって処理するためにターゲット・プロセッサに向けてアドレス指定された割り込みが保留中でない場合、ゲスト・オペレーティング・システムによって、ターゲット・プロセッサがブロックされていないことを示すように、ターゲット・プロセッサに割り当てられた割り込みテーブル・エントリ内の割り込みブロッキング・インジケータを変更することをさらに含む、項目5または6のいずれかに記載の方法。
8.方法が、ターゲット・プロセッサがブロックされていない場合、バス接続デバイスによって、第1の論理プロセッサIDがブロックされていることを示すように、割り込みターゲットIDに割り当てられた割り込みテーブル・エントリ内の割り込みブロッキング・インジケータを変更することをさらに含み、この変更することが、処理のためのターゲット・プロセッサへの割り込み信号の転送前に実行される、項目7に記載の方法。
9.方法が、
バス接続デバイスによって、割り込みブロッキング・インジケータの変更後に、受信された割り込みターゲットIDに割り当てられた割り込みテーブル・エントリの第2のコピーを取り出すことと、
バス接続デバイスによって割り込みテーブル・エントリの第2のコピーをチェックし、割り込みテーブル・エントリの第1のコピーと相対的な割り込みテーブルの第2のコピーの事前に定義された種類の変更を除外することとをさらに含み、事前に定義された種類の変更の正常な除外が、処理のためのターゲット・プロセッサへの割り込み信号の転送に必要である、項目8に記載の方法。
10.事前に定義された種類の変更が、割り込みテーブル・エントリの第2のコピーに含まれている論理プロセッサIDのうちの第2の1つへの受信された割り込みターゲットIDの第2のマッピングと相対的な受信された割り込みターゲットIDの第1のマッピングの変更であり、第2のマッピングが第1のマッピングと相対的な変更を含む場合、バス接続デバイスによって、ブロードキャストを使用して、割り込み信号が処理のために複数のプロセッサに転送される、項目9に記載の方法。
11.事前に定義された種類の変更が、割り込みテーブル・エントリの第2のコピーに含まれている実行中インジケータの第2のコピーと相対的な実行中インジケータの第1のコピーの変更であり、実行中インジケータの第2のコピーが、実行中ビットの第1のコピーと相対的な変更を含んでおり、第2の実行中インジケータが、ターゲット・プロセッサがオペレーティング・システムで使用するためにスケジューリングされていないことを示している場合、割り込み信号が、バス接続デバイスによって、ブロードキャストを使用して処理のために複数のプロセッサに転送される、項目9または10のいずれかに記載の方法。
12.方法が、
バス接続デバイスによって、デバイス・テーブル・エントリのコピーをメモリに格納されているデバイス・テーブルから取り出すことであって、デバイス・テーブル・エントリが、ターゲット・プロセッサが直接アドレス指定されるかどうかを示す直接信号伝達インジケータを含む、取り出すことをさらに含み、
直接信号伝達インジケータが割り込み信号の直接転送を示している場合に、ターゲット・プロセッサの論理プロセッサIDを使用してターゲット・プロセッサを直接アドレス指定する割り込み信号の転送が実行され、
そうでない場合に、方法が、バス接続デバイスによって、ブロードキャストを使用して割り込み信号を処理するために複数のプロセッサに転送することを含む、項目1ないし11のいずれかに記載の方法。
13.デバイス・テーブル・エントリが、割り込みテーブルのメモリ・アドレスを示す割り込みテーブル・アドレス・インジケータをさらに含み、バス接続デバイスが、割り込みテーブル・エントリの第1のコピーを取り出すために、割り込みテーブルのメモリ・アドレスを使用する、項目12に記載の方法。
14.メモリが、割り込み要約ベクトルをさらに含み、デバイス・テーブル・エントリが、割り込み要約ベクトルのメモリ・アドレスを示す割り込み要約ベクトル・アドレス・インジケータをさらに含み、割り込み要約ベクトルが、バス接続されたモジュールごとに割り込み要約インジケータを含み、各割り込み要約インジケータが、バス接続されたモジュールに割り当てられ、各バス接続されたモジュールによって発行された処理される割り込み信号が存在するかどうかを示し、
方法が、バス接続デバイスによって、割り込み要約ベクトルの示されたメモリ・アドレスを使用して、受信された割り込み信号の発行元であるバス接続されたモジュールに割り当てられた割り込み要約インジケータを更新し、更新された割り込み要約インジケータが、各バス接続されたモジュールによって発行された処理される割り込み信号が存在するということを示すようにすることをさらに含む、項目12または13のいずれかに記載の方法。
15.メモリが、有向割り込み要約ベクトルをさらに含み、デバイス・テーブル・エントリが、有向割り込み要約ベクトルのメモリ・アドレスを示す有向割り込み要約ベクトル・アドレス・インジケータをさらに含み、有向割り込み要約ベクトルが、割り込みターゲットIDごとに有向割り込み要約インジケータを含み、各有向割り込み要約インジケータが、割り込みターゲットIDに割り当てられ、各割り込みターゲットIDに向けてアドレス指定された処理される割り込み信号が存在するかどうかを示し、
方法が、バス接続デバイスによって、有向割り込み要約ベクトルの示されたメモリ・アドレスを使用して、受信された割り込み信号のアドレス指定先であるターゲット・プロセッサIDに割り当てられた割り込み要約インジケータを更新し、更新された割り込み要約インジケータが、各割り込みターゲットIDに向けてアドレス指定された処理される割り込み信号が存在するということを示すようにすることをさらに含む、項目12ないし13のいずれかに記載の方法。
16.メモリが1つまたは複数の割り込み信号ベクトルをさらに含み、デバイス・テーブル・エントリが、1つまたは複数の割り込み信号ベクトルのうちの1つの割り込み信号ベクトルのメモリ・アドレスを示す割り込み信号ベクトル・アドレス・インジケータをさらに含み、割り込み信号ベクトルの各々が、1つまたは複数の信号インジケータを含み、各割り込み信号インジケータが、1つまたは複数のバス接続されたモジュールのうちの1つのバス接続されたモジュールおよび割り込みターゲットIDに割り当てられ、割り込み信号が、各割り込みターゲットIDに向けてアドレス指定された各バス接続されたモジュールから受信されたかどうかを示し、
方法が、
バス接続デバイスによって、割り込み信号ベクトルの示されたメモリ・アドレスを使用して、受信された割り込み信号を発行したバス接続されたモジュール、および受信された割り込み信号のアドレス指定先である割り込みターゲットIDに割り当てられた割り込み信号インジケータを選択することと、
選択された割り込み信号インジケータが、各バス接続されたモジュールによって発行され、各割り込みターゲットIDに向けてアドレス指定された処理される割り込み信号が存在することを示すように、選択された割り込み信号インジケータを更新することとをさらに含む、項目12ないし15のいずれかに記載の方法。
17.割り込み信号ベクトルが、各割り込みターゲットIDに割り当てられた割り込みターゲットIDごとの割り込み信号インジケータをそれぞれ含み、割り込み信号ベクトルの各々が個別のバス接続されたモジュールに割り当てられ、各割り込み信号ベクトルの割り込み信号インジケータが、各個別のバス接続されたモジュールにさらに割り当てられる、項目16に記載の方法。
18.割り込み信号ベクトルが、各バス接続されたモジュールに割り当てられたバス接続されたモジュールごとの割り込み信号インジケータをそれぞれ含み、割り込み信号ベクトルの各々が個別のターゲット・プロセッサIDに割り当てられ、各割り込み信号ベクトルの割り込み信号インジケータが、各ターゲット・プロセッサIDにさらに割り当てられる、項目16に記載の方法。
19.デバイス・テーブル・エントリが、ゲスト・オペレーティング・システムが割り当てられた論理パーティションを識別する論理パーティションIDをさらに含み、バス接続デバイスによる割り込み信号の転送が、割り込み信号と共に論理パーティションIDを転送することをさらに含む、項目1ないし18のいずれかに記載の方法。
20.方法が、バス接続デバイスによって、受信された割り込み信号が割り当てられた割り込みサブクラスを識別する割り込みサブクラスIDを取り出すことをさらに含み、バス接続デバイスによる割り込み信号の転送が、割り込み信号と共に割り込みサブクラスIDを転送することをさらに含む、項目1ないし19のいずれかに記載の方法。
21.ゲスト・オペレーティング・システムで使用するために割り当てられたコンピュータ・システムの複数のプロセッサのうちの1つまたは複数のプロセッサを使用して実行されるゲスト・オペレーティング・システムに割り込み信号を提供するためのコンピュータ・システムであって、このコンピュータ・システムが、バスおよびバス接続デバイスを介して複数のプロセッサに操作可能なように接続されている1つまたは複数のバス接続されたモジュールをさらに備え、このコンピュータ・システムが、バス接続デバイスに操作可能なように接続されたメモリをさらに備え、
複数のプロセッサの各プロセッサに、各プロセッサをアドレス指定するためにバス接続デバイスによって使用される論理プロセッサIDが割り当てられており、
ゲスト・オペレーティング・システムで使用するために割り当てられた複数のプロセッサの各プロセッサに、各プロセッサをアドレス指定するためにゲスト・オペレーティング・システムおよび1つまたは複数のバス接続されたモジュールによって使用される割り込みターゲットIDがさらに割り当てられており、
このコンピュータ・システムが、
バス接続デバイスによって、バス接続されたモジュールのうちの1つから割り込みターゲットIDと共に割り込み信号を受信することであって、この割り込みターゲットIDが、ゲスト・オペレーティング・システムで使用するために割り当てられたプロセッサのうちの1つを、割り込み信号を処理するためのターゲット・プロセッサとして識別する、受信することと、
バス接続デバイスによって、メモリに格納されている割り込みテーブルから、受信された割り込みターゲットIDに割り当てられた割り込みテーブル・エントリの第1のコピーを取り出すことであって、割り込みテーブル・エントリの第1のコピーが、割り込みターゲットIDによって識別されたターゲット・プロセッサがゲスト・オペレーティング・システムで使用するためにスケジューリングされているかどうかを示す実行中インジケータを含む、取り出すことと、
バス接続デバイスによって、実行中インジケータを使用して、ターゲット・プロセッサがゲスト・オペレーティング・システムで使用するためにスケジューリングされているかどうかをチェックし、
ターゲット・プロセッサがゲスト・オペレーティング・システムで使用するためにスケジューリングされている場合に、バス接続デバイスによって、受信された割り込みターゲットIDを論理プロセッサIDに変換し、ターゲット・プロセッサを直接アドレス指定するために変換から得られた論理プロセッサIDを使用して、割り込み信号を処理するためにターゲット・プロセッサに転送し、
そうでない場合に、バス接続デバイスによって、ブロードキャストを使用して割り込み信号を処理するために複数のプロセッサに転送することとを含む方法を実行するように構成される、コンピュータ・システム。
22.ゲスト・オペレーティング・システムで使用するために割り当てられたコンピュータ・システムの複数のプロセッサのうちの1つまたは複数のプロセッサを使用して実行されるゲスト・オペレーティング・システムに割り込み信号を提供するためのコンピュータ・プログラム製品であって、このコンピュータ・システムが、バスおよびバス接続デバイスを介して複数のプロセッサに操作可能なように接続されている1つまたは複数のバス接続されたモジュールをさらに備え、このコンピュータ・システムが、バス接続デバイスに操作可能なように接続されたメモリをさらに備え、
複数のプロセッサの各プロセッサに、各プロセッサをアドレス指定するためにバス接続デバイスによって使用される論理プロセッサIDが割り当てられており、
ゲスト・オペレーティング・システムで使用するために割り当てられた複数のプロセッサの各プロセッサに、各プロセッサをアドレス指定するためにゲスト・オペレーティング・システムおよび1つまたは複数のバス接続されたモジュールによって使用される割り込みターゲットIDがさらに割り当てられており、
このコンピュータ・プログラム製品が、処理回路によって読み取り可能な、方法を実行するために処理回路によって実行される命令を格納しているコンピュータ可読の非一過性媒体を備え、この方法が、
バス接続デバイスによって、バス接続されたモジュールのうちの1つから割り込みターゲットIDと共に割り込み信号を受信することであって、この割り込みターゲットIDが、ゲスト・オペレーティング・システムで使用するために割り当てられたプロセッサのうちの1つを、割り込み信号を処理するためのターゲット・プロセッサとして識別する、受信することと、
バス接続デバイスによって、メモリに格納されている割り込みテーブルから、受信された割り込みターゲットIDに割り当てられた割り込みテーブル・エントリの第1のコピーを取り出すことであって、割り込みテーブル・エントリの第1のコピーが、割り込みターゲットIDによって識別されたターゲット・プロセッサがゲスト・オペレーティング・システムで使用するためにスケジューリングされているかどうかを示す実行中インジケータの第1のコピーを含む、取り出すことと、
バス接続デバイスによって、実行中インジケータの第1のコピーを使用して、ターゲット・プロセッサがゲスト・オペレーティング・システムで使用するためにスケジューリングされているかどうかをチェックし、
ターゲット・プロセッサがゲスト・オペレーティング・システムで使用するためにスケジューリングされている場合に、バス接続デバイスによって、受信された割り込みターゲットIDを論理プロセッサIDに変換し、ターゲット・プロセッサを直接アドレス指定するために変換から得られた論理プロセッサIDを使用して、割り込み信号を処理するためにターゲット・プロセッサに転送し、
そうでない場合に、バス接続デバイスによって、ブロードキャストを使用して割り込み信号を処理するために複数のプロセッサに転送することとを含む、コンピュータ・プログラム製品。
Claims (17)
- ゲスト・オペレーティング・システムで使用するために割り当てられたコンピュータ・システムの複数のプロセッサのうちの1つまたは複数のプロセッサを使用して実行される前記ゲスト・オペレーティング・システムに割り込み信号を提供するための方法であって、前記コンピュータ・システムが、バスおよびバス接続デバイスを介して前記複数のプロセッサに操作可能なように接続されている1つまたは複数のバス接続されたモジュールをさらに備え、前記コンピュータ・システムが、前記バス接続デバイスに操作可能なように接続されたメモリをさらに備え、
前記複数のプロセッサの各プロセッサに、前記各プロセッサをアドレス指定するために前記バス接続デバイスによって使用される論理プロセッサIDが割り当てられており、
前記ゲスト・オペレーティング・システムで使用するために割り当てられた前記複数のプロセッサの各プロセッサに、前記各プロセッサをアドレス指定するために前記ゲスト・オペレーティング・システムおよび前記1つまたは複数のバス接続されたモジュールによって使用される割り込みターゲットIDがさらに割り当てられており、
前記方法が、
前記バス接続デバイスによって、前記バス接続されたモジュールのうちの1つから割り込みターゲットIDと共に割り込み信号を受信することであって、前記割り込みターゲットIDが、前記ゲスト・オペレーティング・システムで使用するために割り当てられた前記プロセッサのうちの1つを、前記割り込み信号を処理するためのターゲット・プロセッサとして識別する、前記受信することと、
前記バス接続デバイスによって、前記メモリに格納されている割り込みテーブルから、前記受信された割り込みターゲットIDに割り当てられた割り込みテーブル・エントリの第1のコピーを取り出すことであって、前記割り込みテーブル・エントリの前記第1のコピーが、前記割り込みターゲットIDによって識別された前記ターゲット・プロセッサが前記ゲスト・オペレーティング・システムで使用するためにスケジューリングされているかどうかを示す実行中インジケータの第1のコピーを含む、前記取り出すことと、
前記バス接続デバイスによって、前記実行中インジケータの前記第1のコピーを使用して、前記ターゲット・プロセッサが前記ゲスト・オペレーティング・システムで使用するためにスケジューリングされているかどうかをチェックし、
前記ターゲット・プロセッサが前記ゲスト・オペレーティング・システムで使用するためにスケジューリングされている場合に、前記バス接続デバイスによって、前記受信された割り込みターゲットIDを論理プロセッサIDに変換し、前記ターゲット・プロセッサを直接アドレス指定するために前記変換から得られた前記論理プロセッサIDを使用して、前記割り込み信号を処理するために前記ターゲット・プロセッサに転送し、
そうでない場合に、前記バス接続デバイスによって、ブロードキャストを使用して前記割り込み信号を処理するために前記複数のプロセッサに転送することを含む、方法。 - 前記実行中インジケータが単一のビットとして実装される、請求項1に記載の方法。
- 前記ターゲット・プロセッサの前記割り込みターゲットIDを含むメッセージ信号割り込みの形態で前記割り込み信号が受信される、請求項1に記載の方法。
- 前記割り込みテーブル・エントリの前記第1のコピーが、前記論理プロセッサIDのうちの第1の1つへの前記受信された割り込みターゲットIDの第1のマッピングをさらに含み、前記バス接続デバイスが、前記ターゲット・プロセッサの前記論理プロセッサIDへの前記受信された割り込みターゲットIDの前記変換のために、前記割り込みテーブル・エントリの前記第1のコピーを使用する、請求項1に記載の方法。
- 前記割り込みテーブル・エントリの前記第1のコピーが、前記割り込みターゲットIDによって識別された前記ターゲット・プロセッサが割り込み信号を受信することを現在ブロックされているかどうかを示す割り込みブロッキング・インジケータをさらに含み、前記方法が、
前記バス接続デバイスによって、前記割り込みブロッキング・インジケータを使用して、前記ターゲット・プロセッサが割り込み信号を受信することをブロックされているかどうかをチェックし、
前記ターゲット・プロセッサがブロックされていない場合は、前記割り込み信号の前記転送を続行し、
前記ターゲット・プロセッサがブロックされている場合は、前記バス接続デバイスによって、前記割り込み信号が処理のために前記ターゲット・プロセッサに転送されるのをブロックすることをさらに含む、請求項1に記載の方法。 - 前記ゲスト・オペレーティング・システムの割り込みハンドラによって、前記ターゲット・プロセッサによって処理するために前記ターゲット・プロセッサに向けてアドレス指定された割り込みが保留中であるかどうかをチェックし、前記ターゲット・プロセッサによって処理するために前記ターゲット・プロセッサに向けてアドレス指定された割り込みが保留中でない場合、前記ゲスト・オペレーティング・システムによって、前記ターゲット・プロセッサがブロックされていないことを示すように、前記ターゲット・プロセッサに割り当てられた前記割り込みテーブル・エントリ内の前記割り込みブロッキング・インジケータを変更することをさらに含む、請求項5に記載の方法。
- 前記方法が、前記ターゲット・プロセッサがブロックされていない場合、前記バス接続デバイスによって、前記論理プロセッサIDがブロックされていることを示すように、前記割り込みターゲットIDに割り当てられた前記割り込みテーブル・エントリ内の前記割り込みブロッキング・インジケータを変更することをさらに含み、前記変更することが、処理のための前記ターゲット・プロセッサへの前記割り込み信号の前記転送前に実行される、請求項6に記載の方法。
- 前記方法が、
前記バス接続デバイスによって、デバイス・テーブル・エントリのコピーを前記メモリに格納されているデバイス・テーブルから取り出すことをさらに含み、前記デバイス・テーブル・エントリが、前記ターゲット・プロセッサが直接アドレス指定されるかどうかを示す直接信号伝達インジケータを含み、
前記直接信号伝達インジケータが前記割り込み信号の直接転送を示している場合に、前記ターゲット・プロセッサの論理プロセッサIDを使用して前記ターゲット・プロセッサを直接アドレス指定する前記割り込み信号の前記転送が実行され、
そうでない場合に、前記方法が、前記バス接続デバイスによって、ブロードキャストを使用して前記割り込み信号を処理するために前記複数のプロセッサに転送することを含む、請求項1に記載の方法。 - 前記デバイス・テーブル・エントリが、前記割り込みテーブルのメモリ・アドレスを示す割り込みテーブル・アドレス・インジケータをさらに含み、前記バス接続デバイスが、前記割り込みテーブル・エントリの前記第1のコピーを前記取り出すために、前記割り込みテーブルの前記メモリ・アドレスを使用する、請求項8に記載の方法。
- 前記メモリが、割り込み要約ベクトルをさらに含み、前記デバイス・テーブル・エントリが、前記割り込み要約ベクトルのメモリ・アドレスを示す割り込み要約ベクトル・アドレス・インジケータをさらに含み、前記割り込み要約ベクトルが、バス接続されたモジュールごとに割り込み要約インジケータを含み、各割り込み要約インジケータが、バス接続されたモジュールに割り当てられ、前記各バス接続されたモジュールによって発行された処理される割り込み信号が存在するかどうかを示し、
前記方法が、前記バス接続デバイスによって、前記割り込み要約ベクトルの前記示されたメモリ・アドレスを使用して、受信された前記割り込み信号の発行元である前記バス接続されたモジュールに割り当てられた前記割り込み要約インジケータを更新し、前記更新された割り込み要約インジケータが、前記各バス接続されたモジュールによって発行された処理される割り込み信号が存在するということを示すようにすることをさらに含む、請求項8に記載の方法。 - 前記メモリが、有向割り込み要約ベクトルをさらに含み、前記デバイス・テーブル・エントリが、前記有向割り込み要約ベクトルのメモリ・アドレスを示す有向割り込み要約ベクトル・アドレス・インジケータをさらに含み、前記有向割り込み要約ベクトルが、割り込みターゲットIDごとに有向割り込み要約インジケータを含み、各有向割り込み要約インジケータが、割り込みターゲットIDに割り当てられ、前記各割り込みターゲットIDに向けてアドレス指定された処理される割り込み信号が存在するかどうかを示し、
前記方法が、前記バス接続デバイスによって、前記有向割り込み要約ベクトルの前記示されたメモリ・アドレスを使用して、前記受信された割り込み信号のアドレス指定先である前記ターゲットIDに割り当てられた前記割り込み要約インジケータを更新し、前記更新された割り込み要約インジケータが、前記各割り込みターゲットIDに向けてアドレス指定された処理される割り込み信号が存在するということを示すようにすることをさらに含む、請求項8に記載の方法。 - 前記割り込み信号ベクトルが、前記各割り込みターゲットIDに割り当てられた割り込みターゲットIDごとの割り込み信号インジケータをそれぞれ含み、前記割り込み信号ベクトルの各々が個別のバス接続されたモジュールに割り当てられ、前記各割り込み信号ベクトルの前記割り込み信号インジケータが、前記各個別のバス接続されたモジュールにさらに割り当てられる、請求項8に記載の方法。
- 前記割り込み信号ベクトルが、前記各バス接続されたモジュールに割り当てられたバス接続されたモジュールごとの割り込み信号インジケータをそれぞれ含み、前記割り込み信号ベクトルの各々が個別のターゲット・プロセッサIDに割り当てられ、前記各割り込み信号ベクトルの前記割り込み信号インジケータが、前記各ターゲット・プロセッサIDにさらに割り当てられる、請求項8に記載の方法。
- 前記デバイス・テーブル・エントリが、前記ゲスト・オペレーティング・システムが割り当てられた論理パーティションを識別する論理パーティションIDをさらに含み、前記バス接続デバイスによる前記割り込み信号の前記転送が、前記割り込み信号と共に前記論理パーティションIDを転送することをさらに含む、請求項8に記載の方法。
- 前記方法が、前記バス接続デバイスによって、前記受信された割り込み信号が割り当てられた割り込みサブクラスを識別する割り込みサブクラスIDを前記割り込みテーブル・エントリから取り出すことをさらに含み、前記バス接続デバイスによる前記割り込み信号の前記転送が、前記割り込み信号と共に前記割り込みサブクラスIDを転送することをさらに含む、請求項1に記載の方法。
- 請求項1~15の何れか1項に記載の方法を、コンピュータ・ハードウェアによる手段として構成した、コンピュータ・システム。
- 請求項1~15の何れか1項に記載の方法を、コンピュータに実行させる、コンピュータ・プログラム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP19157095 | 2019-02-14 | ||
EP19157095.1 | 2019-02-14 | ||
PCT/EP2020/052541 WO2020164935A1 (en) | 2019-02-14 | 2020-02-03 | Directed interrupt virtualization with running indicator |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2022520929A JP2022520929A (ja) | 2022-04-04 |
JPWO2020164935A5 JPWO2020164935A5 (ja) | 2022-06-08 |
JP7450627B2 true JP7450627B2 (ja) | 2024-03-15 |
Family
ID=65440826
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021541142A Active JP7450627B2 (ja) | 2019-02-14 | 2020-02-03 | 実行中インジケータを使用した有向割り込みの仮想化方法、システム、プログラム |
Country Status (5)
Country | Link |
---|---|
US (2) | US11249776B2 (ja) |
EP (1) | EP3924821A1 (ja) |
JP (1) | JP7450627B2 (ja) |
CN (1) | CN113424150A (ja) |
WO (1) | WO2020164935A1 (ja) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI727607B (zh) | 2019-02-14 | 2021-05-11 | 美商萬國商業機器公司 | 用於具有中斷表之經引導中斷虛擬化之方法、電腦系統及電腦程式產品 |
TWI764082B (zh) | 2019-02-14 | 2022-05-11 | 美商萬國商業機器公司 | 用於經引導中斷虛擬化之中斷信號之方法、電腦系統及電腦程式產品 |
WO2020164819A1 (en) | 2019-02-14 | 2020-08-20 | International Business Machines Corporation | Directed interrupt for multilevel virtualization with interrupt table |
WO2020164935A1 (en) | 2019-02-14 | 2020-08-20 | International Business Machines Corporation | Directed interrupt virtualization with running indicator |
WO2020165666A1 (en) | 2019-02-14 | 2020-08-20 | International Business Machines Corporation | Directed interrupt virtualization with blocking indicator |
BR112021016093A2 (pt) | 2019-02-14 | 2021-10-26 | International Business Machines Corporation | Interrupção dirigida para virtualização de multiníveis |
TWI759677B (zh) | 2019-02-14 | 2022-04-01 | 美商萬國商業機器公司 | 用於具有回退之經引導中斷虛擬化之方法、電腦系統及電腦程式產品 |
EP3924817A1 (en) | 2019-02-14 | 2021-12-22 | International Business Machines Corporation | Directed interrupt virtualization |
US11748283B1 (en) * | 2022-03-18 | 2023-09-05 | Intel Corporation | Scalable I/O virtualization interrupt and scheduling |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090183180A1 (en) | 2001-06-08 | 2009-07-16 | Vmware, Inc. | High-performance virtual machine networking |
US20120131248A1 (en) | 2010-11-24 | 2012-05-24 | International Business Machines Corporation | Managing compressed memory using tiered interrupts |
JP2013519169A (ja) | 2010-02-05 | 2013-05-23 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | 割込みの仮想化 |
JP2017538184A (ja) | 2014-10-08 | 2017-12-21 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | 入出力(i/o)割込みの改良型優先ルーティングを実施する方法、システムおよびプログラム |
Family Cites Families (69)
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 |
US5848279A (en) | 1996-12-27 | 1998-12-08 | Intel Corporation | Mechanism for delivering interrupt messages |
GB2339035B (en) | 1998-04-29 | 2002-08-07 | Sgs Thomson Microelectronics | A method and system for transmitting interrupts |
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 |
US8286162B2 (en) | 2005-12-30 | 2012-10-09 | Intel Corporation | Delivering interrupts directly to a virtual processor |
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 |
US7627706B2 (en) | 2007-09-06 | 2009-12-01 | Intel Corporation | Creation of logical APIC ID with cluster ID and intra-cluster ID |
US8453143B2 (en) | 2007-09-19 | 2013-05-28 | Vmware, Inc. | Reducing the latency of virtual interrupt delivery in virtual machines |
US9037768B2 (en) | 2008-04-28 | 2015-05-19 | Hewlett-Packard Development Company, L.P. | Virtual-interrupt-mode interface and method for virtualizing an interrupt mode |
ATE542177T1 (de) | 2008-08-19 | 2012-02-15 | St Microelectronics Rousset | Weiterleitungsverfahren eines unterbrechungssignals direkt an eine virtuelle bearbeitungseinheit in einem system mit einer oder mehreren physischen bearbeitungseinheiten |
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 |
JP2010113667A (ja) | 2008-11-10 | 2010-05-20 | Renesas Technology Corp | 情報処理装置 |
JP5352848B2 (ja) | 2008-11-28 | 2013-11-27 | 株式会社日立製作所 | 仮想計算機の制御方法及び計算機装置 |
CN101427916B (zh) * | 2008-12-05 | 2012-02-22 | 张锦景 | 电生理数据与病理图像监测的移动网络终端装置及方法 |
US8234432B2 (en) | 2009-01-26 | 2012-07-31 | Advanced Micro Devices, Inc. | Memory structure to store interrupt state for inactive guests |
JP5320140B2 (ja) | 2009-04-14 | 2013-10-23 | 株式会社日立製作所 | 計算機システム、割込み中継回路及び割込み中継方法 |
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 |
US8478922B2 (en) | 2010-06-23 | 2013-07-02 | International Business Machines Corporation | Controlling a rate at which adapter interruption requests are processed |
KR20120042354A (ko) * | 2010-10-25 | 2012-05-03 | 한국전자통신연구원 | 위성통신 시스템용 중심국의 이중모드 망동기 장치 및 그 방법 |
CN102184122B (zh) | 2011-05-16 | 2014-04-23 | 曙光信息产业股份有限公司 | 一种龙芯CPU主板bios及中断的实现方法 |
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 |
US20130318269A1 (en) | 2012-05-22 | 2013-11-28 | Xockets IP, LLC | Processing structured and unstructured data 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 |
US9442870B2 (en) | 2012-08-09 | 2016-09-13 | Freescale Semiconductor, Inc. | Interrupt priority management using partition-based priority blocking processor registers |
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 |
US9940291B2 (en) | 2013-01-29 | 2018-04-10 | Hewlett Packard Enterprise Development Lp | Assigning processors to memory mapped 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 | 삼성전자주식회사 | 다중 코어 프로세서 및 다중 코어 프로세서를 제어하는 방법 |
CN106095578B (zh) | 2016-06-14 | 2019-04-09 | 上海交通大学 | 基于硬件辅助技术和虚拟cpu运行状态的直接中断递交方法 |
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 |
CN109144679B (zh) | 2017-06-27 | 2022-03-29 | 华为技术有限公司 | 中断请求的处理方法、装置及虚拟化设备 |
US10838760B2 (en) | 2017-11-29 | 2020-11-17 | Nxp Usa, Inc. | Systems and methods for interrupt distribution |
TWI764082B (zh) | 2019-02-14 | 2022-05-11 | 美商萬國商業機器公司 | 用於經引導中斷虛擬化之中斷信號之方法、電腦系統及電腦程式產品 |
WO2020164935A1 (en) * | 2019-02-14 | 2020-08-20 | International Business Machines Corporation | Directed interrupt virtualization with running indicator |
WO2020164819A1 (en) | 2019-02-14 | 2020-08-20 | International Business Machines Corporation | Directed interrupt for multilevel virtualization with interrupt table |
TWI759677B (zh) | 2019-02-14 | 2022-04-01 | 美商萬國商業機器公司 | 用於具有回退之經引導中斷虛擬化之方法、電腦系統及電腦程式產品 |
EP3924817A1 (en) | 2019-02-14 | 2021-12-22 | International Business Machines Corporation | Directed interrupt virtualization |
TWI727607B (zh) | 2019-02-14 | 2021-05-11 | 美商萬國商業機器公司 | 用於具有中斷表之經引導中斷虛擬化之方法、電腦系統及電腦程式產品 |
BR112021016093A2 (pt) | 2019-02-14 | 2021-10-26 | International Business Machines Corporation | Interrupção dirigida para virtualização de multiníveis |
WO2020165666A1 (en) | 2019-02-14 | 2020-08-20 | International Business Machines Corporation | Directed interrupt virtualization with blocking indicator |
-
2020
- 2020-02-03 WO PCT/EP2020/052541 patent/WO2020164935A1/en unknown
- 2020-02-03 EP EP20702303.7A patent/EP3924821A1/en active Pending
- 2020-02-03 JP JP2021541142A patent/JP7450627B2/ja active Active
- 2020-02-03 CN CN202080013439.1A patent/CN113424150A/zh active Pending
- 2020-02-13 US US16/789,519 patent/US11249776B2/en active Active
-
2021
- 2021-09-23 US US17/482,514 patent/US11734037B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090183180A1 (en) | 2001-06-08 | 2009-07-16 | Vmware, Inc. | High-performance virtual machine networking |
JP2013519169A (ja) | 2010-02-05 | 2013-05-23 | アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド | 割込みの仮想化 |
US20120131248A1 (en) | 2010-11-24 | 2012-05-24 | International Business Machines Corporation | Managing compressed memory using tiered interrupts |
JP2017538184A (ja) | 2014-10-08 | 2017-12-21 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | 入出力(i/o)割込みの改良型優先ルーティングを実施する方法、システムおよびプログラム |
Also Published As
Publication number | Publication date |
---|---|
CN113424150A (zh) | 2021-09-21 |
EP3924821A1 (en) | 2021-12-22 |
US20220004412A1 (en) | 2022-01-06 |
WO2020164935A1 (en) | 2020-08-20 |
JP2022520929A (ja) | 2022-04-04 |
US11249776B2 (en) | 2022-02-15 |
US20200264910A1 (en) | 2020-08-20 |
US11734037B2 (en) | 2023-08-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7379502B2 (ja) | フォールバックを伴う有向割り込みの仮想化方法、システム、プログラム | |
JP7324287B2 (ja) | 割り込みテーブルを使用した有向割り込みの仮想化方法、システム、プログラム | |
JP7398465B2 (ja) | 有向割り込みの仮想化のための割り込み信号伝達方法、システム、プログラム | |
JP7450627B2 (ja) | 実行中インジケータを使用した有向割り込みの仮想化方法、システム、プログラム | |
JP7459119B2 (ja) | 割り込みテーブルを使用したマルチレベルの仮想化のための有向割り込み方法、システム、プログラム | |
JP7335339B2 (ja) | 有向割り込みの仮想化方法、システム、プログラム | |
JP7448550B2 (ja) | ブロッキング・インジケータを使用した有向割り込みの仮想化方法、システム、プログラム | |
JP7482882B2 (ja) | マルチレベルの仮想化のための有向割り込み方法、システム、プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20220512 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20220527 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220725 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20230926 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20231204 |
|
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: 20240220 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20240305 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7450627 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |