Sending a next request to a resource before a completion interrupt for a previous request
AssigneeInternational Business Machines Corporation
InventorsStuart Z. Jacobs, David A. Larson
Life of this patent
Estimating the term…
Abstract
In an embodiment, in response to receiving a completion interrupt for a first request from a resource, a determination is made whether relocation of memory contents accessed by performance of the first request is in progress. If the relocation of the memory contents accessed by performance of the first request is in progress, a second request is sent to the resource before the memory relocation completes. If the relocation of the memory contents accessed by the performance of the first request is not in progress, the completion interrupt for the first request is sent to the virtual machine that initiated the first request.
Claims20
A method comprising:
- in response to receiving a completion interrupt for a first request from a resource, determining whether relocation of memory contents accessed by performance of the first request is in progress;
- if the relocation of the memory contents accessed by performance of the first request is in progress, sending a second request to the resource before the memory relocation completes;
- and
- if the relocation of the memory contents accessed by the performance of the first request is not in progress, sending the completion interrupt for the first request to a virtual machine that initiated the first request.
A computer-readable storage medium encoded with instructions, wherein the instructions when executed comprise:
- in response to receiving a completion interrupt for a first request from a resource, determining whether relocation of memory contents accessed by performance of the first request is in progress;
- if the relocation of the memory contents accessed by performance of the first request is in progress, sending a second request to the resource before the memory relocation completes and waiting to send a completion interrupt for the first request to a virtual machine that initiated the first request until after the memory relocation completes;
- if the relocation of the memory contents accessed by the performance of the first request is not in progress, sending the completion interrupt for the first request to the virtual machine that initiated the first request;
- sending a halt request to the resource, wherein the halt request causes the resource to halt a third request;
- and
- in response to the sending the halt request to the resource, sending a fourth request to the resource before receiving a completion interrupt from the resource for the halt request.
A computer comprising:
- a processor;
- and
- memory communicatively coupled to the processor, wherein the memory is encoded with instructions, and wherein the instructions when executed on the processor comprise
- in response to receiving, at a hypervisor, a completion interrupt for a first request from a resource, determining, at the hypervisor, whether relocation of memory contents accessed by performance of the first request is in progress, wherein the resource is shared by a plurality of virtual machines managed by the hypervisor,
- if the relocation of the memory contents accessed by performance of the first request is in progress, sending a second request from the hypervisor to the resource before the memory relocation completes and waiting to send a completion interrupt for the first request to a virtual machine that initiated the first request until after the memory relocation completes,
- if the relocation of the memory contents accessed by the performance of the first request is not in progress, sending the completion interrupt for the first request from the hypervisor to the virtual machine that initiated the first request,
- deciding to send a halt request from the hypervisor to the resource,
- sending a halt request from the hypervisor to the resource, wherein the halt request causes the resource to halt a third request, and
- in response to the sending the halt request from the hypervisor to the resource, sending a fourth request from the hypervisor to the resource before receiving a completion interrupt, at the hypervisor, from the resource for the halt request.
Dependencies are inferred from the claim text.