JP6679145B2 - 仮想プロセッサ・スレッド・グループを使用する処理装置内の割込みを処理するための方法、処理装置、およびプログラム - Google Patents
仮想プロセッサ・スレッド・グループを使用する処理装置内の割込みを処理するための方法、処理装置、およびプログラム Download PDFInfo
- Publication number
- JP6679145B2 JP6679145B2 JP2016219785A JP2016219785A JP6679145B2 JP 6679145 B2 JP6679145 B2 JP 6679145B2 JP 2016219785 A JP2016219785 A JP 2016219785A JP 2016219785 A JP2016219785 A JP 2016219785A JP 6679145 B2 JP6679145 B2 JP 6679145B2
- Authority
- JP
- Japan
- Prior art keywords
- virtual processor
- event
- processor threads
- enm
- threads
- 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
- G06F13/26—Handling requests for interconnection or transfer for access to input/output bus using interrupt with priority control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/12—Replacement control
- G06F12/121—Replacement control using replacement algorithms
- G06F12/122—Replacement control using replacement algorithms of the least frequently used [LFU] type, e.g. with individual count value
-
- 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
- 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
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/40—Bus structure
- G06F13/4063—Device-to-bus coupling
- G06F13/4068—Electrical coupling
-
- 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/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/12—Replacement control
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/70—Details relating to dynamic memory management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Multimedia (AREA)
- Bus Control (AREA)
- Debugging And Monitoring (AREA)
Description
102 処理ノード
104 処理装置
108 システム・メモリ
110 システム相互接続
114 ローカル相互接続
200 プロセッサ・コア
210 メモリI/Oバス
212 例外ライン
214 I/Oバス
220 I/Oコントローラ
222 パケット・デコーダ
224 割込みソース・コントローラ(ISC)
226 イベント割当てテーブル(EAT)
230 I/Oアダプタ
240 割込み提示コントローラ(IPC)
242 割込みコンテキスト・テーブル(ICT)
302 イベント通知メッセージ(ENM)
304 通知拒否メッセージ(NRM)
306 割込み終了(EOI)メッセージ
404 メッセージ・デコーダ
405 EOIおよび拒否ライン
406 割込みメッセージ・エンコーダ
410 メモリI/Oバス
414 I/Oバス
422 パケット・デコーダ
424 割込みソース・コントローラ
426 イベント割当てテーブル(EAT)
502 メッセージ・デコーダ
504 メモリ・マップドI/O(MMIO)ユニット
506 メッセージ・エンコーダ
507 トリガEOIメッセージ
540 割込み提示コントローラ(IPC)
542 割込みコンテキスト・テーブル(ICT)
1202 イベント通知メッセージ(ENM)
1404 メッセージ・デコーダ
1406 割込みメッセージ・エンコーダ
1502 メッセージ・デコーダ
1504 MMIOユニット
1505 トリガ拒否メッセージ
1506 メッセージ・エンコーダ
1507 トリガEOIメッセージ
1508 セレクタ
1602 「ノーヒット」ユニット
1604 「2次選択」ユニット
Claims (28)
- イベント・ターゲット番号、および無視ビット数を指定するイベント通知メッセージ(ENM)を、割込み提示コントローラ(IPC)で受信することと、
前記ENM内で指定される前記イベント・ターゲット番号および前記無視ビット数に基づいて、潜在的に割込みを受ける可能性がある仮想プロセッサ・スレッドのグループを前記IPCによって決定することであって、かつ潜在的に割込みを受ける可能性がある仮想プロセッサ・スレッドのグループを決定する際に、前記イベント・ターゲット番号が、特定の仮想プロセッサ・スレッドを特定し、前記無視ビット数が、前記特定の仮想プロセッサ・スレッドに関して下位の無視ビット数を特定することと
を含む、データ処理システム内の割込みを処理する方法。 - 前記ENMは、レベルをさらに指定し、前記仮想プロセッサ・スレッドの前記グループは、前記ENM内で指定される前記レベルがユーザ・レベルに対応する際に、プロセス識別子(ID)をさらに使用することによって決定される、請求項1に記載の方法。
- 前記ENMは、イベント・ソース番号およびイベント優先順位をさらに指定する、請求項1に記載の方法。
- 前記レベルがオペレーティング・システム(OS)レベルに対応する際に、前記プロセスIDが使用されない、請求項2に記載の方法。
- 前記レベルがハイパーバイザ・レベルに対応する際に、前記プロセスIDが使用されない、請求項4に記載の方法。
- 前記無視ビット数が0である場合、前記特定の仮想プロセッサ・スレッドのみが、潜在的に割込みを受ける可能性がある、請求項3に記載の方法。
- 前記無視ビット数が1である場合、前記特定の仮想プロセッサ・スレッドおよび1つの他の仮想プロセッサ・スレッドが、潜在的に割込みを受ける可能性がある、請求項3に記載の方法。
- 前記無視ビット数が「n」である場合、前記特定の仮想プロセッサ・スレッドおよび(2n−1)個の他の仮想プロセッサ・スレッドが、潜在的に割込みを受ける可能性がある、請求項1ないし5のいずれか一項に記載の方法。
- 前記無視ビット数は、0に等しくなく、前記方法は、
仮想プロセッサ・スレッドの前記グループ内の1つまたは複数の仮想プロセッサ・スレッドがディスパッチされ、関連する物理プロセッサ上で動作中であるかどうかを判定することと、
仮想プロセッサ・スレッドの前記グループ内の仮想プロセッサ・スレッドがディスパッチされず、関連する物理プロセッサ上で動作中ではないことに応答して、前記ENM内で指定されるイベント・ソース番号によって指定される通知ソースに拒否メッセージを発行することと
をさらに含む、請求項1ないし5のいずれか一項に記載の方法。 - 前記無視ビット数は、0に等しくなく、前記方法は、
仮想プロセッサ・スレッドの前記グループ内の複数の仮想プロセッサ・スレッドがディスパッチされ、関連する物理プロセッサ上で動作中であるかどうかを判定することと、
仮想プロセッサ・スレッドの前記グループ内の前記複数の仮想プロセッサ・スレッドがディスパッチされ、関連する物理プロセッサ上で動作中であることに応答して、保留中の割込みをまだ有しない前記複数の仮想プロセッサ・スレッドのうちの1つを割込みのために選択することと
をさらに含む、請求項1ないし5のいずれか一項に記載の方法。 - 前記複数の仮想プロセッサ・スレッドのうちの複数が保留中の割込みをまだ有しないことに応答して、2次選択基準に基づいて、保留中の割込みをまだ有しない前記複数の仮想プロセッサ・スレッドのうちの1つを割込みのために選択すること
をさらに含む、請求項10に記載の方法。 - 前記2次選択基準は、前記複数の仮想プロセッサ・スレッドのそれぞれについての動作優先順位に対する、前記ENM内で指定されるイベント優先順位、前記複数の仮想プロセッサ・スレッドのうちの最長時間未使用(LRU)の1つ、および前記複数の仮想プロセッサ・スレッドのうちのランダムな1つのうちの1つまたは複数を含む、請求項11に記載の方法。
- 前記無視ビット数は、0に等しくなく、前記方法は、
仮想プロセッサ・スレッドの前記グループ内の複数の仮想プロセッサ・スレッドがディスパッチされ、関連する物理プロセッサ上で動作中であるかどうかを判定することと、
仮想プロセッサ・スレッドの前記グループ内の前記複数の仮想プロセッサ・スレッドがディスパッチされ、関連する物理プロセッサ上で動作中であることに応答して、前記複数の仮想プロセッサ・スレッドのすべてが保留中の割込みを有するかどうかを判定することと、
前記複数の仮想プロセッサ・スレッドのすべてが保留中の割込みを有すると判定したことに応答して、前記ENM内で指定されるイベント優先順位が、前記複数の仮想プロセッサ・スレッドのいずれかの動作優先順位よりも高いかどうかを判定することと、
前記イベント優先順位が前記複数の仮想プロセッサ・スレッドのいずれの前記動作優先順位よりも高くないと判定したことに応答して、前記ENM内で指定されるイベント・ソース番号によって指定される通知ソースに拒否メッセージを発行することと
をさらに含む、請求項1ないし5のいずれか一項に記載の方法。 - 前記イベント優先順位が前記複数の仮想プロセッサ・スレッドのいずれかの前記動作優先順位よりも高いと判定したことに応答して、前記イベント優先順位未満の動作優先順位を有する前記複数の仮想プロセッサ・スレッドのうちの1つを割込みのために選択すること
をさらに含む、請求項13に記載の方法。 - 前記イベント優先順位が前記複数の仮想プロセッサ・スレッドのうちの複数の前記動作優先順位よりも高いと判定したことに応答して、2次選択基準に基づいて、前記イベント優先順位未満の動作優先順位を有する前記複数の仮想プロセッサ・スレッドのうちの1つを割込みのために選択すること
をさらに含む、請求項13に記載の方法。 - 前記2次選択基準は、前記複数の仮想プロセッサ・スレッドについての動作優先順位に対する前記イベント優先順位、前記複数の仮想プロセッサ・スレッドのうちの最長時間未使用(LRU)の1つ、および前記複数の仮想プロセッサ・スレッドのうちのランダムな1つのうちの1つまたは複数を含む、請求項15に記載の方法。
- 割込みソース・コントローラ(ISC)と、
前記ISCに結合された割込み提示コントローラ(IPC)と
を備え、前記IPCは、
前記ISCからイベント通知メッセージ(ENM)を受信することであって、前記ENMが、イベント・ターゲット番号、および無視ビット数を指定する、前記受信すること、および
前記ENM内で指定される前記イベント・ターゲット番号および前記無視ビット数に基づいて、潜在的に割込みを受ける可能性がある仮想プロセッサ・スレッドのグループを決定することであって、かつ潜在的に割込みを受ける可能性がある仮想プロセッサ・スレッドのグループを決定する際に、前記イベント・ターゲット番号が、特定の仮想プロセッサ・スレッドを特定し、前記無視ビット数が、前記特定の仮想プロセッサ・スレッドに関して下位の無視ビット数を特定すること
を行うように構成される、マルチスレッド・データ処理システムのための処理ユニット。 - 前記ENMは、レベルをさらに指定し、前記仮想プロセッサ・スレッドの前記グループは、前記ENM内で指定される前記レベルがユーザ・レベルに対応する際に、プロセス識別子(ID)をさらに使用することによって決定される、請求項17に記載の処理ユニット。
- 前記ENMは、イベント・ソース番号およびイベント優先順位をさらに指定する、請求項17に記載の処理ユニット。
- 前記無視ビット数は、0に等しくなく、前記IPCは、
仮想プロセッサ・スレッドの前記グループ内の1つまたは複数の仮想プロセッサ・スレッドがディスパッチされ、関連する物理プロセッサ上で動作中であるかどうかを判定し、
仮想プロセッサ・スレッドの前記グループ内の仮想プロセッサ・スレッドがディスパッチされず、関連する物理プロセッサ上で動作中ではないことに応答して、前記ENM内で指定されるイベント・ソース番号によって指定される通知ソースに拒否メッセージを発行する
ようにさらに構成される、請求項17ないし19のいずれか一項に記載の処理ユニット。 - 前記無視ビット数は、0に等しくなく、前記IPCは、
仮想プロセッサ・スレッドの前記グループ内の複数の仮想プロセッサ・スレッドがディスパッチされ、関連する物理プロセッサ上で動作中であるかどうかを判定し、
仮想プロセッサ・スレッドの前記グループ内の前記複数の仮想プロセッサ・スレッドがディスパッチされ、関連する物理プロセッサ上で動作中であることに応答して、保留中の割込みをまだ有しない前記複数の仮想プロセッサ・スレッドのうちの1つを割込みのために選択する
ようにさらに構成される、請求項17ないし19のいずれか一項に記載の処理ユニット。 - 前記IPCは、
前記複数の仮想プロセッサ・スレッドのうちの複数が保留中の割込みをまだ有しないことに応答して、2次選択基準に基づいて、保留中の割込みをまだ有しない複数の仮想プロセッサ・スレッドのうちの1つを割込みのために選択する
ようにさらに構成される、請求項21に記載の処理ユニット。 - 前記2次選択基準は、前記複数の仮想プロセッサ・スレッドのそれぞれについての動作優先順位に対する、前記ENM内で指定されるイベント優先順位、前記複数の仮想プロセッサ・スレッドのうちの最長時間未使用(LRU)の1つ、および前記複数の仮想プロセッサ・スレッドのうちのランダムな1つのうちの1つまたは複数を含む、請求項22に記載の処理ユニット。
- 前記無視ビット数は、0に等しくなく、前記IPCは、
仮想プロセッサ・スレッドの前記グループ内の複数の仮想プロセッサ・スレッドがディスパッチされ、関連する物理プロセッサ上で動作中であるかどうかを判定し、
仮想プロセッサ・スレッドの前記グループ内の前記複数の仮想プロセッサ・スレッドがディスパッチされ、関連する物理プロセッサ上で動作中であることに応答して、前記複数の仮想プロセッサ・スレッドのすべてが保留中の割込みを有するかどうかを判定し、
前記複数の仮想プロセッサ・スレッドのすべてが保留中の割込みを有すると判定したことに応答して、前記ENM内で指定されるイベント優先順位が、前記複数の仮想プロセッサ・スレッドのいずれかの動作優先順位よりも高いかどうかを判定し、
前記イベント優先順位が前記複数の仮想プロセッサ・スレッドのいずれの前記動作優先順位よりも高くないと判定したことに応答して、前記ENM内で指定されるイベント・ソース番号によって指定される通知ソースに拒否メッセージを発行する
ようにさらに構成される、請求項17ないし19のいずれか一項に記載の処理ユニット。 - 前記IPCは、
前記イベント優先順位が前記複数の仮想プロセッサ・スレッドのいずれかの前記動作優先順位よりも高いと判定したことに応答して、前記イベント優先順位未満の動作優先順位を有する前記複数の仮想プロセッサ・スレッドのうちの1つを割込みのために選択する
ようにさらに構成される、請求項24に記載の処理ユニット。 - コンピュータ実行可能なプログラムであって、コンピュータを、
割込みソース・コントローラ(ISC)、および
前記ISCに結合された割込み提示コントローラ(IPC)
として機能させるためのプログラムであり、前記IPCは、
前記ISCからイベント通知メッセージ(ENM)を受信することであって、前記ENMが、イベント・ターゲット番号、および無視ビット数を指定する、前記受信すること、および
前記ENM内で指定される前記イベント・ターゲット番号および前記無視ビット数に基づいて、潜在的に割込みを受ける可能性がある仮想プロセッサ・スレッドのグループを決定することであって、かつ潜在的に割込みを受ける可能性がある仮想プロセッサ・スレッドのグループを決定する際に、前記イベント・ターゲット番号が、特定の仮想プロセッサ・スレッドを特定し、前記無視ビット数が、前記特定の仮想プロセッサ・スレッドに関して下位の無視ビット数を特定すること
を行うように構成される、プログラム。 - 前記ENMがレベルをさらに指定し、前記ENM内で指定される前記レベルがユーザ・レベルに対応する際に、前記仮想プロセッサ・スレッドの前記グループが、プロセス識別子(ID)をさらに使用することによって決定される、請求項26に記載のプログラム。
- 前記ENMが、イベント・ソース番号およびイベント優先順位をさらに指定する、請求項26に記載のプログラム。
Applications Claiming Priority (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201562255766P | 2015-11-16 | 2015-11-16 | |
US62/255,766 | 2015-11-16 | ||
US15/334,951 US10437755B2 (en) | 2015-11-16 | 2016-10-26 | Techniques for handling interrupts in a processing unit using virtual processor thread groups |
US15/334,951 | 2016-10-26 | ||
US15/334,857 | 2016-10-26 | ||
US15/334,857 US9852091B2 (en) | 2015-11-16 | 2016-10-26 | Techniques for handling interrupts in a processing unit using virtual processor thread groups and software stack levels |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017091544A JP2017091544A (ja) | 2017-05-25 |
JP6679145B2 true JP6679145B2 (ja) | 2020-04-15 |
Family
ID=58691007
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016219785A Active JP6679145B2 (ja) | 2015-11-16 | 2016-11-10 | 仮想プロセッサ・スレッド・グループを使用する処理装置内の割込みを処理するための方法、処理装置、およびプログラム |
Country Status (3)
Country | Link |
---|---|
US (13) | US10437755B2 (ja) |
JP (1) | JP6679145B2 (ja) |
GB (2) | GB2545974B (ja) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10437755B2 (en) * | 2015-11-16 | 2019-10-08 | International Business Machines Corporation | Techniques for handling interrupts in a processing unit using virtual processor thread groups |
US10121001B1 (en) * | 2017-06-21 | 2018-11-06 | Qualcomm Incorporated | System and method for monolithic scheduling in a portable computing device using a hypervisor |
US10423550B2 (en) | 2017-10-25 | 2019-09-24 | International Business Machines Corporation | Managing efficient selection of a particular processor thread for handling an interrupt |
JP7196439B2 (ja) * | 2018-07-03 | 2022-12-27 | 株式会社デンソー | 仮想化環境におけるデバイスへのアクセス方法 |
US11188369B2 (en) * | 2018-11-26 | 2021-11-30 | International Business Machines Corporation | Interrupt virtualization |
US11513983B2 (en) * | 2020-05-15 | 2022-11-29 | International Business Machines Corporation | Interrupt migration |
US11755362B2 (en) | 2021-06-11 | 2023-09-12 | International Business Machines Corporation | Techniques for handling escalation of interrupts in a data processing system |
US11561819B2 (en) | 2021-06-11 | 2023-01-24 | International Business Machines Corporation | Techniques for adapting escalation paths of interrupts in a data processing system |
Family Cites Families (94)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
BE662661A (ja) | 1964-04-16 | |||
JPH0290331A (ja) * | 1988-09-28 | 1990-03-29 | Hitachi Ltd | 仮想計算機システムのためのプロセツサ間通信命令処理装置 |
FR2642214B1 (fr) * | 1988-12-30 | 1992-11-20 | Cit Alcatel | Systeme de detection d'ecrasement de donnees dans une memoire tampon, notamment pour un commutateur de donnees |
US5495615A (en) * | 1990-12-21 | 1996-02-27 | Intel Corp | Multiprocessor interrupt controller with remote reading of interrupt control registers |
US5410710A (en) * | 1990-12-21 | 1995-04-25 | Intel Corporation | Multiprocessor programmable interrupt controller system adapted to functional redundancy checking processor systems |
US5469571A (en) * | 1991-07-15 | 1995-11-21 | Lynx Real-Time Systems, Inc. | Operating system architecture using multiple priority light weight kernel task based interrupt handling |
JP2870254B2 (ja) * | 1991-10-02 | 1999-03-17 | 日本電気株式会社 | 仮想計算機の入出力割り込み処理方式 |
JP2566719B2 (ja) | 1992-04-20 | 1996-12-25 | インターナショナル・ビジネス・マシーンズ・コーポレイション | データ通信インタフエース及びその動作方法 |
US5515538A (en) * | 1992-05-29 | 1996-05-07 | Sun Microsystems, Inc. | Apparatus and method for interrupt handling in a multi-threaded operating system kernel |
US5319753A (en) * | 1992-09-29 | 1994-06-07 | Zilog, Inc. | Queued interrupt mechanism with supplementary command/status/message information |
JPH06187178A (ja) | 1992-12-18 | 1994-07-08 | Hitachi Ltd | 仮想計算機システムの入出力割込み制御方法 |
CA2123447C (en) | 1993-09-20 | 1999-02-16 | Richard L. Arndt | Scalable system interrupt structure for a multiprocessing system |
US5584037A (en) * | 1994-03-01 | 1996-12-10 | Intel Corporation | Entry allocation in a circular buffer |
US5530891A (en) * | 1994-05-31 | 1996-06-25 | Advanced Micro Devices | System management interrupt mechanism within a symmetrical multiprocessing system |
US5905898A (en) | 1994-05-31 | 1999-05-18 | Advanced Micro Devices, Inc. | Apparatus and method for storing interrupt source information in an interrupt controller based upon interrupt priority |
US6006247A (en) * | 1995-03-21 | 1999-12-21 | International Business Machines Corporation | Method and system for scheduling threads and handling exceptions within a multiprocessor data processing system |
US5689713A (en) * | 1995-03-31 | 1997-11-18 | Sun Microsystems, Inc. | Method and apparatus for interrupt communication in a packet-switched computer system |
JP3442932B2 (ja) | 1995-09-29 | 2003-09-02 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 情報処理システム |
US6163829A (en) | 1998-04-17 | 2000-12-19 | Intelect Systems Corporation | DSP interrupt control for handling multiple interrupts |
US6065089A (en) * | 1998-06-25 | 2000-05-16 | Lsi Logic Corporation | Method and apparatus for coalescing I/O interrupts that efficiently balances performance and latency |
US6205508B1 (en) * | 1999-02-16 | 2001-03-20 | Advanced Micro Devices, Inc. | Method for distributing interrupts in a multi-processor system |
US6338111B1 (en) | 1999-02-22 | 2002-01-08 | International Business Machines Corporation | Method and apparatus for reducing I/O interrupts |
US6327249B1 (en) * | 1999-08-04 | 2001-12-04 | Ess Technology, Inc | Data communication device |
US6430643B1 (en) * | 1999-09-02 | 2002-08-06 | International Business Machines Corporation | Method and system for assigning interrupts among multiple interrupt presentation controllers |
TW501017B (en) * | 2000-04-05 | 2002-09-01 | Via Tech Inc | Processing method, chip set and controller for supporting message signaled interrupt |
US6792525B2 (en) * | 2000-04-19 | 2004-09-14 | Hewlett-Packard Development Company, L.P. | Input replicator for interrupts in a simultaneous and redundantly threaded processor |
US20020087614A1 (en) | 2000-08-31 | 2002-07-04 | Andrej Kocev | Programmable tuning for flow control and support for CPU hot plug |
GB2366880B (en) * | 2000-09-15 | 2005-01-05 | Mitel Corp | Method of Validating Data in Circular Buffers |
US6760830B2 (en) * | 2000-12-29 | 2004-07-06 | Intel Corporation | Modulo addressing |
US20020161961A1 (en) * | 2001-01-17 | 2002-10-31 | Ajile Systems, Inc. | Multiple virtual machine environment management system |
US7191271B2 (en) * | 2001-09-20 | 2007-03-13 | Lockheed Martin Corporation | Two level multi-tier system bus |
US7275247B2 (en) | 2002-09-19 | 2007-09-25 | International Business Machines Corporation | Method and apparatus for handling threads in a data processing system |
US7003610B2 (en) * | 2002-09-20 | 2006-02-21 | Lsi Logic Corporation | System and method for handling shared resource writes arriving via non-maskable interrupts (NMI) in single thread non-mission critical systems with limited memory space |
US9158574B2 (en) | 2002-11-18 | 2015-10-13 | Arm Limited | Handling interrupts in data processing |
GB0230301D0 (en) * | 2002-12-30 | 2003-02-05 | Nokia Corp | Streaming media |
US7653912B2 (en) | 2003-05-30 | 2010-01-26 | Steven Frank | Virtual processor methods and apparatus with unified event notification and consumer-producer memory operations |
US7003611B2 (en) | 2003-09-30 | 2006-02-21 | International Business Machines Corporation | Method and apparatus for handling interrupts using a set of interrupts servers associated with presentation controllers |
US7810093B2 (en) * | 2003-11-14 | 2010-10-05 | Lawrence Livermore National Security, Llc | Parallel-aware, dedicated job co-scheduling within/across symmetric multiprocessing nodes |
US7650601B2 (en) | 2003-12-04 | 2010-01-19 | International Business Machines Corporation | Operating system kernel-assisted, self-balanced, access-protected library framework in a run-to-completion multi-processor environment |
US7590982B1 (en) * | 2003-12-17 | 2009-09-15 | Vmware, Inc. | System and method for virtualizing processor and interrupt priorities |
JP2005190207A (ja) * | 2003-12-25 | 2005-07-14 | Matsushita Electric Ind Co Ltd | 割り込み制御装置、制御方法 |
US20060010277A1 (en) | 2004-07-08 | 2006-01-12 | International Business Machines Corporation | Isolation of input/output adapter interrupt domains |
US20060130062A1 (en) | 2004-12-14 | 2006-06-15 | International Business Machines Corporation | Scheduling threads in a multi-threaded computer |
TWI271654B (en) * | 2005-04-22 | 2007-01-21 | Via Tech Inc | Core logic chip of computer system |
US7584328B2 (en) | 2005-11-14 | 2009-09-01 | Intel Corporation | Method, apparatus, and a system for efficient context switch |
US8286162B2 (en) | 2005-12-30 | 2012-10-09 | Intel Corporation | Delivering interrupts directly to a virtual processor |
US7398343B1 (en) | 2006-01-03 | 2008-07-08 | Emc Corporation | Interrupt processing system |
JP4033215B2 (ja) * | 2006-01-31 | 2008-01-16 | セイコーエプソン株式会社 | マルチプロセッサシステム及びマルチプロセッサシステムの制御方法をコンピュータに実行させるためのプログラム |
US7821980B2 (en) | 2006-08-03 | 2010-10-26 | Nokia Corporation | Variable rate soft information forwarding |
US20080109564A1 (en) | 2006-11-03 | 2008-05-08 | Arndt Richard L | Method, system, and apparatus for enhanced management of message signaled interrupts |
US8763115B2 (en) | 2007-08-08 | 2014-06-24 | Vmware, Inc. | Impeding progress of malicious guest software |
US8209686B2 (en) | 2008-02-12 | 2012-06-26 | International Business Machines Corporation | Saving unsaved user process data in one or more logical partitions of a computing system |
US8623315B2 (en) | 2008-07-15 | 2014-01-07 | Honeywell International Inc. | Methods for preparing compositions comprising ammonium nitrate double salts |
US8239873B2 (en) | 2008-08-12 | 2012-08-07 | Verizon Patent And Licensing Inc. | Speedy event processing |
EP2157511B1 (fr) | 2008-08-19 | 2012-01-18 | STMicroelectronics Rousset SAS | Procédé d'acheminement d'un signal d'interruption directement vers une unité de traitement virtuelle dans un système à une ou plusieurs unités de traitement physiques |
US8667187B2 (en) | 2008-09-15 | 2014-03-04 | Vmware, Inc. | System and method for reducing communication overhead between network interface controllers and virtual machines |
DK2349320T3 (en) | 2008-10-17 | 2016-09-26 | Vectus Biosystems Ltd | Compositions and methods for the treatment of renal disorders |
US8719823B2 (en) | 2009-03-04 | 2014-05-06 | Vmware, Inc. | Managing latency introduced by virtualization |
US8566508B2 (en) * | 2009-04-08 | 2013-10-22 | Google Inc. | RAID configuration in a flash memory data storage device |
US8478924B2 (en) | 2009-04-24 | 2013-07-02 | Vmware, Inc. | Interrupt coalescing for outstanding input/output completions |
US8868809B2 (en) * | 2009-11-30 | 2014-10-21 | Lsi Corporation | Interrupt queuing in a media controller architecture |
US8413161B2 (en) * | 2009-09-29 | 2013-04-02 | International Business Machines Corporation | Work queue selection on a local processor within a multiple processor architecture |
DE112010004017T5 (de) * | 2009-10-13 | 2013-02-07 | Turck Holding Gmbh | Einzelstapel-ReaI-Time-Betriebssystem für eingebettete Systeme |
US8566492B2 (en) * | 2009-12-31 | 2013-10-22 | Intel Corporation | Posting interrupts to virtual processors |
US8489789B2 (en) | 2010-02-05 | 2013-07-16 | Advanced Micro Devices, Inc. | Interrupt virtualization |
US8510599B2 (en) | 2010-06-23 | 2013-08-13 | International Business Machines Corporation | Managing processing associated with hardware events |
US9213567B2 (en) | 2010-10-01 | 2015-12-15 | Futurewei Technologies, Inc. | System and method for controlling the input/output of a virtualized network |
KR20120065097A (ko) | 2010-12-10 | 2012-06-20 | 한국전자통신연구원 | 단말 가상화 환경에서 사용자 입력 처리 성능 향상을 위한 인터럽트 처리 장치 및 그 방법 |
US9934166B2 (en) * | 2010-12-10 | 2018-04-03 | Daniel Shawcross Wilkerson | Hard object: constraining control flow and providing lightweight kernel crossings |
US9003094B2 (en) | 2011-08-30 | 2015-04-07 | Red Hat Israel, Ltd. | Optimistic interrupt affinity for devices |
WO2013042202A1 (ja) * | 2011-09-20 | 2013-03-28 | 富士通株式会社 | 割込監視装置、およびコンピュータシステム |
US9569235B1 (en) * | 2011-09-30 | 2017-02-14 | EMC IP Holding Company LLC | Managing virtual systems in data storage systems |
US8626799B2 (en) | 2011-10-03 | 2014-01-07 | International Business Machines Corporation | Mapping data structures |
JP5842206B2 (ja) * | 2012-01-27 | 2016-01-13 | 株式会社トプスシステムズ | プロセッサ・コア、およびマルチコア・プロセッサ・システム |
JP5561294B2 (ja) * | 2012-03-13 | 2014-07-30 | 株式会社デンソー | マイクロコンピュータ |
US8868810B2 (en) * | 2012-04-12 | 2014-10-21 | International Business Machines Corporation | Managing over-initiative thin interrupts |
CN102789439B (zh) * | 2012-06-16 | 2016-02-10 | 北京忆恒创源科技有限公司 | 控制数据传输过程中的中断的方法与存储设备 |
US8996774B2 (en) | 2012-06-27 | 2015-03-31 | Intel Corporation | Performing emulated message signaled interrupt handling |
US9026705B2 (en) * | 2012-08-09 | 2015-05-05 | Oracle International Corporation | Interrupt processing unit for preventing interrupt loss |
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 |
US9191435B2 (en) | 2012-08-23 | 2015-11-17 | TidalScale, Inc. | Selective data migration or remapping of virtual processors to provide required data accessibility to processor cores |
US9772960B2 (en) | 2012-10-11 | 2017-09-26 | Wind River Systems, Inc. | System and method for operating system aware low latency interrupt handling |
US9009377B2 (en) | 2012-11-01 | 2015-04-14 | Apple Inc. | Edge-triggered interrupt conversion in a system employing level-sensitive interrupts |
US10078603B2 (en) | 2012-11-30 | 2018-09-18 | Red Hat Israel, Ltd. | MSI events using dynamic memory monitoring |
US9235538B2 (en) * | 2013-02-07 | 2016-01-12 | Red Hat Israel, Ltd. | Injecting interrupts in virtualized computer systems |
US10331589B2 (en) | 2013-02-13 | 2019-06-25 | Red Hat Israel, Ltd. | Storing interrupt location for fast interrupt register access in hypervisors |
US9378047B1 (en) | 2013-09-18 | 2016-06-28 | Emc Corporation | Efficient communication of interrupts from kernel space to user space using event queues |
US9460033B2 (en) | 2013-12-27 | 2016-10-04 | Cavium, Inc. | Apparatus and method for interrupt collecting and reporting status and delivery information |
WO2015159359A1 (ja) * | 2014-04-15 | 2015-10-22 | 株式会社日立製作所 | 物理計算機 |
US9858101B2 (en) | 2014-11-13 | 2018-01-02 | Red Hat Israel, Ltd. | Virtual machine input/output thread management |
US10037292B2 (en) | 2015-05-21 | 2018-07-31 | Red Hat Israel, Ltd. | Sharing message-signaled interrupt vectors in multi-processor computer systems |
US9806904B2 (en) * | 2015-09-08 | 2017-10-31 | Oracle International Corporation | Ring controller for PCIe message handling |
US10437755B2 (en) * | 2015-11-16 | 2019-10-08 | International Business Machines Corporation | Techniques for handling interrupts in a processing unit using virtual processor thread groups |
-
2016
- 2016-10-26 US US15/334,951 patent/US10437755B2/en active Active
- 2016-10-26 US US15/335,047 patent/US9779043B2/en not_active Expired - Fee Related
- 2016-10-26 US US15/334,985 patent/US9792232B2/en active Active
- 2016-10-26 US US15/334,857 patent/US9852091B2/en not_active Expired - Fee Related
- 2016-10-26 US US15/334,924 patent/US9678901B2/en not_active Expired - Fee Related
- 2016-10-31 US US15/339,382 patent/US9870329B2/en active Active
- 2016-10-31 US US15/339,469 patent/US9792233B2/en not_active Expired - Fee Related
- 2016-10-31 US US15/339,428 patent/US9904638B2/en active Active
- 2016-11-01 US US15/340,083 patent/US10169270B2/en active Active
- 2016-11-01 US US15/340,076 patent/US10061723B2/en not_active Expired - Fee Related
- 2016-11-09 GB GB1618921.9A patent/GB2545974B/en active Active
- 2016-11-09 GB GB1618917.7A patent/GB2545973B/en active Active
- 2016-11-10 JP JP2016219785A patent/JP6679145B2/ja active Active
-
2017
- 2017-11-17 US US15/816,597 patent/US10114773B2/en active Active
- 2017-11-28 US US15/824,545 patent/US10229075B2/en not_active Expired - Fee Related
-
2018
- 2018-08-24 US US16/111,661 patent/US10614010B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US20170139853A1 (en) | 2017-05-18 |
US10229075B2 (en) | 2019-03-12 |
GB2545973A (en) | 2017-07-05 |
US20170139859A1 (en) | 2017-05-18 |
US20180365179A1 (en) | 2018-12-20 |
US9904638B2 (en) | 2018-02-27 |
US10114773B2 (en) | 2018-10-30 |
US20170139858A1 (en) | 2017-05-18 |
US20170139856A1 (en) | 2017-05-18 |
US20170139860A1 (en) | 2017-05-18 |
US10061723B2 (en) | 2018-08-28 |
US9870329B2 (en) | 2018-01-16 |
US9678901B2 (en) | 2017-06-13 |
US10614010B2 (en) | 2020-04-07 |
US20170139861A1 (en) | 2017-05-18 |
US20170139854A1 (en) | 2017-05-18 |
US20170139862A1 (en) | 2017-05-18 |
GB2545974B (en) | 2020-11-11 |
US10437755B2 (en) | 2019-10-08 |
US9792232B2 (en) | 2017-10-17 |
US9779043B2 (en) | 2017-10-03 |
GB2545974A (en) | 2017-07-05 |
US20180113824A1 (en) | 2018-04-26 |
GB2545973B (en) | 2020-11-11 |
US20170139857A1 (en) | 2017-05-18 |
US9792233B2 (en) | 2017-10-17 |
US10169270B2 (en) | 2019-01-01 |
US9852091B2 (en) | 2017-12-26 |
JP2017091544A (ja) | 2017-05-25 |
US20170139855A1 (en) | 2017-05-18 |
US20180121378A1 (en) | 2018-05-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6679145B2 (ja) | 仮想プロセッサ・スレッド・グループを使用する処理装置内の割込みを処理するための方法、処理装置、およびプログラム | |
US6349394B1 (en) | Performance monitoring in a NUMA computer | |
KR101455899B1 (ko) | 다수의 가상 서버들 사이에 공유 자원들의 할당을 통한 소프트웨어 제어기능을 갖는 마이크로 프로세서 | |
US10552351B2 (en) | Techniques for issuing interrupts in a data processing system with multiple scopes | |
US20150143056A1 (en) | Dynamic write priority based on virtual write queue high water mark | |
US10725940B2 (en) | Reallocate memory pending queue based on stall | |
US10740269B2 (en) | Arbitration circuitry | |
US10229074B2 (en) | Techniques for handling interrupts in a processing unit using interrupt request queues | |
US20150067240A1 (en) | Storage apparatus and its data processing method | |
US11561819B2 (en) | Techniques for adapting escalation paths of interrupts in a data processing system | |
US20220398125A1 (en) | Techniques for handling escalation of interrupts in a data processing system | |
CN109284223B (zh) | 可配置的调试方法和系统 | |
KR20230169865A (ko) | 병렬성이 높은 시스템에서 큐들을 관리하기 위한 시스템 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD12 | Notification of acceptance of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7432 Effective date: 20161118 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20161121 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190419 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20191129 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20191224 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200221 |
|
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: 20200303 |
|
RD14 | Notification of resignation of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7434 Effective date: 20200304 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200316 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6679145 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |