Servicing a globally broadcast interrupt signal in a multi-threaded computer
US-9223729-B2 · Dec 29, 2015 · US
US9830286B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9830286-B2 |
| Application number | US-201313767163-A |
| Country | US |
| Kind code | B2 |
| Filing date | Feb 14, 2013 |
| Priority date | Feb 14, 2013 |
| Publication date | Nov 28, 2017 |
| Grant date | Nov 28, 2017 |
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.
A method and system for permitting a guest to program a message-signaled interrupt-based device is disclosed. A hypervisor of a host detects a request by a guest to map an address range of memory of the guest to a message signaled-interrupt capability table associated with a device. The hypervisor maps the message signaled-interrupt capability table from a message signaled-interrupt capability register of a programmable interrupt controller associated with the host to the address range of memory of the guest. The hypervisor detects an attempt by the guest to program the device with the message-signaled interrupt configuration located in the address range of memory of the guest. The hypervisor programs the device with the message-signaled interrupt configuration specified by the guest in the address range of memory of the guest.
Opening claim text (preview).
What is claimed is: 1. A method, comprising: detecting, by a processing device executing a hypervisor of a host, a plurality of events signaled to a guest of a virtual machine by at least one of a first device or a second device; determining, by the processing device, a guest-event frequency in view of a number of the plurality of events signaled to the guest during a time period; determining whether the guest-event frequency satisfies a first threshold or a second threshold, wherein the second threshold is less than the first threshold; responsive to the guest-event frequency satisfying the first threshold: selecting, by the processing device, the first device to write a message signaled-interrupt capability table to a memory of the guest; and mapping, by the processing device, the message signaled-interrupt capability table to a first address range of the memory; and responsive to the guest-event frequency satisfying the second threshold: selecting, by the processing device, the second device to write the message signaled-interrupt capability table to the memory of the guest; and mapping the message signaled-interrupt capability table to a second address range of the memory. 2. The method of claim 1 further comprising: detecting, by the processing device, an attempt by the guest to program the selected device with a message-signaled interrupt configuration located in the memory of the guest; and programming, by the processing device, the selected device with the message-signaled interrupt configuration. 3. The method of claim 1 , wherein the hypervisor maps the memory of the guest to a guest physical memory. 4. The method of claim 1 , further comprising: responsive to the guest-event frequency not satisfying either of the first threshold or the second threshold: designating an alternate address range of the memory by a programmable interrupt controller; and mapping the message signaled-interrupt capability table to the alternate address range of the memory. 5. The method of claim 1 , wherein the first address range of the memory is specified by a message signaled-interrupt capability register. 6. The method of claim 1 , wherein the guest specifies a message-signaled interrupt configuration for the selected device that differs from a configuration selected by the hypervisor for the selected device. 7. The method of claim 1 , further comprising: detecting by the processing device, a request by the guest to rescind access to the message signaled-interrupt capability table associated with the selected device; and un-mapping by the processing device, the message signaled-interrupt capability table associated with the selected device from the memory of the guest. 8. The method of claim 7 , further comprising re-mapping the message signaled-interrupt capability table to a message signaled-interrupt capability register of a programmable interrupt controller associated with the host. 9. An apparatus comprising: a memory; and a processing device, operatively coupled to the memory, to execute a hypervisor to: detect a plurality of events signaled to a guest of a virtual machine by at least one of a first device or a second device; determine a guest-event frequency in view of a number of the plurality of events signaled to the guest during a time period; determine whether the guest-event frequency satisfies a first threshold or a second threshold, wherein the second threshold is less than the first threshold; responsive to the guest-event frequency satisfying the first threshold: select the first device to write a message signaled-interrupt capability table to the memory; and map, via the hypervisor, the message signaled-interrupt capability table to a first address range of the memory; and responsive to the guest-event frequency satisfying the second threshold: select the second device to write a message signaled-interrupt capability table to the memory; and map, via the hypervisor, the message signaled-interrupt capability table to a second address range of the memory. 10. The apparatus of claim 9 wherein the processing device is further to: detect, via the hypervisor, an attempt by the guest to program the selected device with a message-signaled interrupt configuration located in the memory of the guest; and program, via the hypervisor, the selected device with the message-signaled interrupt configuration. 11. The apparatus of claim 9 further comprising a message signaled-interrupt capability register to specify the first address range of the memory. 12. The apparatus of claim 9 wherein the processing device is further to: detect, via the hypervisor, a request by the guest to rescind access to the message signaled-interrupt capability table associated with the selected device; and un-map, via the hypervisor, the message signaled-interrupt capability table associated with the selected device from the memory of the guest. 13. A non-transitory computer-readable storage medium having stored therein instructions which, when executed by a processing device, cause the processing device to: detect by the processing device, via a hypervisor, a plurality of events signaled to a guest of a virtual machine by at least one of a first device or a second device; determine a guest-event frequency in view of a number of the plurality of events signaled to the guest during a time period; determine whether the guest-event frequency satisfies a first threshold or a second threshold, wherein the second threshold is less than the first threshold; responsive to the guest-event frequency satisfying the first threshold: select the first device to write a message signaled-interrupt capability table to the memory; and map, via the hypervisor, the message signaled-interrupt capability table to a first address range of the memory; and responsive to the guest-event frequency satisfying the second threshold: select the second device to write a message signaled-interrupt capability table to the memory; and map, via the hypervisor, the message signaled-interrupt capability table to a second address range of the memory. 14. The non-transitory computer-readable storage medium of claim 13 wherein the instructions further cause the processing device to: detect, via the hypervisor, an attempt by the guest to program the selected device with a message-signaled interrupt configuration located in the memory of the guest; and program, via the hypervisor, the selected device with the message-signaled interrupt configuration. 15. The non-transitory computer-readable storage medium of claim 13 wherein the first address range of the message is specified by a signaled-interrupt capability register. 16. The non-transitory computer-readable storage medium of claim 13 wherein the instructions further cause the processing device to: detect, via the hypervisor, a request by the guest to rescind access to the message signaled-interrupt capability table associated with the selected device; and un-map, via the hypervisor, the message signaled-interrupt capability table associated with the selected device from the memory of the guest. 17. The non-transitory computer-readable storage medium of claim 16 wherein the instructions further cause the processing device to re-map the message signaled-interrupt capability table to a message signaled-interrupt capability register of a programmable interrupt controller associated with the host.
Access to shared memory · CPC title
using interrupt (G06F13/32 takes precedence) · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.