Synchronization in a computing device
First Claim
Patent Images
1. An apparatus comprising:
- a processor to execute a process, the processor comprising at least one or more core(s);
a chipset;
a memory to store the process; and
logic to;
acquire performance monitoring data in response to a platform processor utilization parameter (PUP) greater than a detection utilization threshold (UT), wherein the performance monitoring data comprises at least one of processor utilization data and instructions retired data;
identify a spin loop associated with the process at least in part by identifying at least one of a detected hot function and/or a detected hot loop using the acquired performance monitoring data;
modify the identified spin loop using binary translation to create a modified process portion; and
implement redirection from the identified spin loop to the modified process portion.
1 Assignment
0 Petitions
Accused Products
Abstract
One embodiment provides an apparatus. The apparatus includes a processor, a chipset, a memory to store a process, and logic. The processor includes one or more core(s) and is to execute the process. The logic is to acquire performance monitoring data in response to a platform processor utilization parameter (PUP) greater than a detection utilization threshold (UT), identify a spin loop based, at least in part, on at least one of a detected hot function and/or a detected hot loop, modify the identified spin loop using binary translation to create a modified process portion, and implement redirection from the identified spin loop to the modified process portion.
11 Citations
21 Claims
-
1. An apparatus comprising:
-
a processor to execute a process, the processor comprising at least one or more core(s);
a chipset;a memory to store the process; and logic to; acquire performance monitoring data in response to a platform processor utilization parameter (PUP) greater than a detection utilization threshold (UT), wherein the performance monitoring data comprises at least one of processor utilization data and instructions retired data; identify a spin loop associated with the process at least in part by identifying at least one of a detected hot function and/or a detected hot loop using the acquired performance monitoring data; modify the identified spin loop using binary translation to create a modified process portion; and implement redirection from the identified spin loop to the modified process portion. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method comprising:
-
executing, by a processor comprising one or more core(s), a process; acquiring, by monitor thread logic, performance monitoring data in response to a platform processor utilization parameter (PUP) greater than a detection utilization threshold (UT), wherein the performance monitoring data comprises at least one of processor utilization data and instructions retired data; identifying, by kernel performance monitor driver logic, a spin loop based, at least in part, on at least one of a detected hot function and/or a detected hot loop; modifying, by binary translator logic, the identified spin loop using binary translation to create a modified process portion; and implementing, by the binary translator logic, redirection from the identified spin loop to the modified process portion. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A computer-readable storage device having stored thereon instructions that when executed by one or more processors result in the following operations comprising:
-
executing a process; acquiring performance monitoring data in response to a platform processor utilization parameter (PUP) greater than a detection utilization threshold (UT), wherein the performance monitoring data comprises at least one of processor utilization data and instructions retired data; identifying a spin loop associated with the process, at least in part by identifying at least one of a detected hot function and/or a detected hot loop using the acquired performance monitoring data; modifying the identified spin loop using binary translation to create a modified process portion; and implementing redirection from the identified spin loop to the modified process portion. - View Dependent Claims (16, 17, 18, 19, 20, 21)
-
Specification