Performance monitoring in heterogeneous systems
US-2021200580-A1 · Jul 1, 2021 · US
US2024220388A1 · US · A1
| Field | Value |
|---|---|
| Publication number | US-2024220388-A1 |
| Application number | US-202218091975-A |
| Country | US |
| Kind code | A1 |
| Filing date | Dec 30, 2022 |
| Priority date | Dec 30, 2022 |
| Publication date | Jul 4, 2024 |
| Grant date | — |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Techniques for flexible virtualization of performance monitoring are described. In an embodiment, an apparatus includes a plurality of performance monitoring hardware resources and an instruction decoder to decode a first instruction to access a first performance monitoring hardware resource of the plurality of performance monitoring hardware resources. In response to the first instruction being received by a virtual machine, the apparatus is to determine whether the first performance monitoring hardware resource is allocated to the virtual machine based on an allocation model to allow any set of the performance monitoring hardware resources to be allocated to the virtual machine, execute the first instruction within the virtual machine in response to a determination that the first performance monitoring hardware resource is allocated to the virtual machine, and raise an exception within the virtual machine in response to a determination that the first performance monitoring hardware resource is not allocated to the virtual machine.
Opening claim text (preview).
What is claimed is: 1 . An apparatus comprising: a plurality of performance monitoring hardware resources; and an instruction decoder to decode a first instruction to access a first performance monitoring hardware resource of the plurality of performance monitoring hardware resources, wherein, in response to the first instruction being received by a virtual machine, the apparatus is to: determine whether the first performance monitoring hardware resource is allocated to the virtual machine based on an allocation model to allow any set of the performance monitoring hardware resources to be allocated to the virtual machine, execute the first instruction within the virtual machine in response to a determination that the first performance monitoring hardware resource is allocated to the virtual machine, and raise an exception within the virtual machine in response to a determination that the first performance monitoring hardware resource is not allocated to the virtual machine. 2 . The apparatus of claim 1 , wherein the first performance monitoring hardware resource includes a first counter. 3 . The apparatus of claim 2 , wherein the first instruction is to read the first counter. 4 . The apparatus of claim 1 , further comprising a storage location, wherein the instruction decoder is also to decode a second instruction to access the storage location, the storage location associated with the first performance monitoring hardware resource and a second performance monitoring hardware resource of the plurality of performance monitoring hardware resources. 5 . The apparatus of claim 4 , wherein, in response to the second instruction being received by the virtual machine, the apparatus is to: determine whether the second performance monitoring hardware resource is allocated to the virtual machine based on the allocation model, execute second instruction within the virtual machine in response to a determination that the first performance monitoring hardware resource and the second performance monitoring are allocated to the virtual machine, and raise an exception within the virtual machine in response to a determination that either the first performance monitoring hardware resource or the second performance monitoring hardware resource is not allocated to the virtual machine. 6 . The apparatus of claim 5 , wherein the second instruction is to write to the storage location. 7 . The apparatus of claim 6 , wherein the second instruction is to write to the storage location to enable the first performance monitoring hardware resource and the second performance monitoring hardware resource. 8 . The apparatus of claim 6 , wherein the instruction decoder is also to decode a third instruction to read the storage location, and, in response to the third instruction being received by the virtual machine, the apparatus is to execute the third instruction within the virtual machine, wherein execution of the third instruction includes: returning content of a first field of the storage location associated with the first performance monitoring resource in response to a determination that the first performance monitoring hardware resource is allocated to the virtual machine, and returning a predetermined value instead of content of a second field of the storage location associated with the second performance monitoring resource in response to a determination that the second performance monitoring hardware resource is not allocated to the virtual machine. 9 . The apparatus of claim 8 , wherein the third instruction is to read a first status associated with the first performance monitoring hardware resource and a second status associated with the second performance monitoring hardware resource. 10 . The apparatus of claim 1 , wherein the apparatus is to determine whether the first performance monitoring hardware resource is allocated to the virtual machine further based on a data structure having a plurality of fields, each of the plurality of fields corresponding to one of the performance monitoring hardware resources and to indicate whether the one of the performance hardware resources is to be allocated to the virtual machine. 11 . The apparatus of claim 10 , wherein the data structure is to be included in a virtual machine control structure for the virtual machine. 12 . The apparatus of claim 10 , wherein the data structure is a bitmap having one bit per performance monitoring hardware resource. 13 . A method comprising: allocating, according to an allocation model to allow any subset of a set of performance monitoring hardware resources to be allocated to a virtual machine, a subset of a set of performance monitoring hardware resources to a virtual machine; receiving, by the virtual machine on the processor, a first instruction to access a first performance monitoring hardware resource of the set of performance monitoring hardware resources; in response to the first instruction being received by the virtual machine, determining whether the first performance monitoring hardware resource is allocated to the virtual machine; executing the first instruction within the virtual machine in response to a determination that the first performance monitoring hardware resource is allocated to the virtual machine; and raising an exception within the virtual machine in response to a determination that the first performance monitoring hardware resource is not allocated to the virtual machine. 14 . The method of claim 13 , wherein the first performance monitoring hardware resource includes a first counter and the first instruction is to read the first counter. 15 . The method of claim 13 , further comprising: receiving, by the virtual machine on the processor, a second instruction to access a storage location, the storage location associated with the first performance monitoring hardware resource and a second performance monitoring hardware resource of the set of performance monitoring hardware resources the set of performance monitoring hardware resources; in response to the second instruction being received by the virtual machine, determining whether the second performance monitoring hardware resource is allocated to the virtual machine based on the allocation model; executing the second instruction within the virtual machine in response to a determination that the first performance monitoring hardware resource and the second performance monitoring are allocated to the virtual machine; and raising an exception within the virtual machine in response to a determination that either the first performance monitoring hardware resource or the second performance monitoring hardware resource is not allocated to the virtual machine. 16 . The method of claim 15 , wherein the second instruction is to write to the storage location to enable the first performance monitoring hardware resource and the second performance monitoring hardware resource. 17 . The method of claim 15 , further comprising: receiving, by the virtual machine on the processor, a third instruction to read the storage location; returning content of a first field of the storage location associated with the first performance monitoring resource in response to a determination that the first performance monitoring hardware resource is allocated to the virtual machine; and returning a predetermined value instead of content of a second field of the storage location associated with the second performance monitoring resource in response to a determination that the second performance monitoring hardware resource is n
Monitoring involving counting · CPC title
the resources being hardware resources other than CPUs, Servers and Terminals · CPC title
Hypervisors; Virtual machine monitors · CPC title
in a virtual computing platform, e.g. logically partitioned systems · CPC title
Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.