发明名称 Servicing a globally broadcast interrupt signal in a multi-threaded computer
摘要 Methods, apparatuses, and computer program products for servicing a globally broadcast interrupt signal in a multi-threaded computer comprising a plurality of processor threads. Embodiments include an interrupt controller indicating in a plurality of local interrupt status locations that a globally broadcast interrupt signal has been received by the interrupt controller. Embodiments also include a thread determining that a local interrupt status location corresponding to the thread indicates that the globally broadcast interrupt signal has been received by the interrupt controller. Embodiments also include the thread processing one or more entries in a global interrupt status bit queue based on whether global interrupt status bits associated with the globally broadcast interrupt signal are locked. Each entry in the global interrupt status bit queue corresponds to a queued global interrupt.
申请公布号 US9223728(B2) 申请公布日期 2015.12.29
申请号 US201313795019 申请日期 2013.03.12
申请人 International Business Machines Corporation 发明人 Attinella John E.;Davis Kristan D.;Musselman Roy G.;Satterfield David L.
分类号 G06F13/24 主分类号 G06F13/24
代理机构 Kennedy Lenart Spraggins LLP 代理人 Lenart Edward J.;Nock James R.;Kennedy Lenart Spraggins LLP
主权项 1. An apparatus for servicing a globally broadcast interrupt signal in a multi-threaded computer, the apparatus comprising a computer processor and a computer memory operatively coupled to the computer processor, the computer memory having disposed within it computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the steps of: indicating, by an interrupt controller, in a plurality of local interrupt status locations that a globally broadcast interrupt signal has been received by the interrupt controller, each local interrupt status location corresponding to a particular thread; determining, by a thread, that a local interrupt status location corresponding to the thread indicates that the globally broadcast interrupt signal has been received by the interrupt controller; and in response to determining that the local interrupt status location indicates that the globally broadcast interrupt signal has been received by the interrupt controller, processing one or more entries in a global interrupt status bit queue based on whether global interrupt status bits associated with the globally broadcast interrupt signal are locked, each entry in the global interrupt status bit queue corresponding to a queued global interrupt, wherein processing one or more entries in the global interrupt status bit queue based on whether global interrupt status bits associated with the globally broadcast interrupt signal are locked includes: determining, by the thread, whether the global interrupt status bits associated with the globally broadcast interrupt signal are locked;if the global interrupt status bits are not locked, processing the one or more entries in the global interrupt status bit queue based on whether the globally broadcast interrupt signal is active, wherein processing the one or more entries in the global interrupt status bit queue based on whether the globally broadcast interrupt signal is active includes: determining, by the thread, whether the globally broadcast interrupt signal is active;if the globally broadcast interrupt signal is active: locking, by the thread, the global interrupt status bits;subsequent to locking the global interrupt status bits, storing, by the thread, contents of the global interrupt status bits in the global interrupt status bit queue;in response to storing the contents of the global interrupt status bits, clearing, by the thread, the contents of the global interrupt status bits; andin response to clearing the contents of the global interrupt status bits, unlocking, by the thread, the global interrupt status bits and processing the next entry in the global interrupt status bit queue.
地址 Armonk NY US