发明名称 Controlling execution of threads in a multi-threaded processor
摘要 Execution of threads in a processor core is controlled. The processor core supports simultaneous multi-threading (SMT) such that there can be effectively multiple logical central processing units (CPUs) operating simultaneously on the same physical processor hardware. Each of these logical CPUs is considered a thread. In such a multi-threading environment, it may be desirous for one thread to stop other threads on the processor core from executing. This may be in response to running a critical sequence or other sequence that needs the processor core resources or is manipulating processor core resources in a way that other threads would interfere with its execution.
申请公布号 US9575802(B2) 申请公布日期 2017.02.21
申请号 US201414525800 申请日期 2014.10.28
申请人 International Business Machines Corporation 发明人 Alexander Khary J.;Busaba Fadi Y.;Farrell Mark S.;Rell, Jr. John G.;Slegel Timothy J.
分类号 G06F9/44;G06F9/45;G06F9/48;G06F9/30;G06F9/38 主分类号 G06F9/44
代理机构 Heslin Rothenberg Farley & Mesiti P.C. 代理人 Heslin Rothenberg Farley & Mesiti P.C.
主权项 1. A computer system for controlling execution of threads in a computing environment, said computer system comprising: a memory; and a processor in communications with the memory, wherein the computer system is configured to perform a method, said method comprising: stopping, by a thread running in a core of the processor of the computing environment, execution of another thread executing within the core of the processor, the stopping using one or more controls in one or more shared registers of the processor, the one or more shared registers being shared by the thread and the other thread, the stopping comprising: determining, by the thread, whether the other thread is prohibiting being stopped;stopping, by the thread, instruction fetching and execution on the other thread, based on the determining indicating the other thread is not prohibiting being stopped; andchecking status of the other thread to determine whether execution of the other thread has stopped, wherein the performing the one or more operations is based on the checking indicating execution of the other thread has stopped and that the other thread did not change from not prohibiting being stopped to prohibiting being stopped after the determining and before the stopping;performing by the thread, one or more operations within the processor after the other thread was stopped from executing within the processor by the thread; andbased on completing the one or more operations, allowing, by the thread, the other thread to continue executing within the processor.
地址 Armonk NY US