US20060242643A1 - Managing input/output interruptions in non-dedicated interruption hardware environments - Google Patents

Managing input/output interruptions in non-dedicated interruption hardware environments Download PDF

Info

Publication number
US20060242643A1
US20060242643A1 US11428085 US42808506A US2006242643A1 US 20060242643 A1 US20060242643 A1 US 20060242643A1 US 11428085 US11428085 US 11428085 US 42808506 A US42808506 A US 42808506A US 2006242643 A1 US2006242643 A1 US 2006242643A1
Authority
US
Grant status
Application
Patent type
Prior art keywords
guest
plurality
interruption
hypervisor
logic
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
US11428085
Other versions
US7380041B2 (en )
Inventor
Brenton Belmar
Janet Easton
Tan Lu
Damian Osisek
Richard Tarcza
Leslie Wyman
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45537Provision of facilities of other operating environments, e.g. WINE

Abstract

Input/output interruptions are managed in computing environments that do not use dedicated per-guest interruption hardware to present interruptions. Dispatchable guest programs in the environment receive I/O interruptions directly without hypervisor intervention. This is facilitated by using one or more interruption controls stored in memory and associated with each guest program. For those guest programs that are not currently dispatchable, interruptions can be posted for the guests and notifications to the hypervisor can be aggregated. The hypervisor can then process a plurality of notifications for the plurality of guests in a single invocation.

Description

    CROSS-REFERENCE TO RELATED APPLICATIONS
  • This application is a continuation of co-pending U.S. patent application Ser. No. 10/435,907, filed May 12, 2003, entitled “MANAGING INPUT/OUTPUT INTERRUPTIONS IN NON-DEDICATED INTERRUPTION HARDWARE ENVIRONMENTS”, Belmar et al., the entirety of which is hereby incorporated herein by reference.
  • FIELD OF THE INVENTION
  • This invention relates, in general, to managing input/output (I/O) interruptions, and in particular, to managing I/O interruptions in environments that present I/O interruptions to guests without using per-guest interruption hardware.
  • BACKGROUND OF THE INVENTION
  • As computing environments increase in the number of guests that they service, it is difficult to have interruption hardware dedicated to each guest. For example, in virtualized real memory environments, such as those based on the z/VM virtual machine support, offered by International Business Machines Corporation, Armonk, N.Y., a large number of low utilization guest operating systems are capable of being serviced. Typically, a virtual machine hypervisor controls the interactions between the guest operating systems and the physical resources. The physical resources are owned by the hypervisor, and the hypervisor dispatches the resources as needed to meet the guest operating systems' processing demands. The hypervisor is used in this manner, since the large number of guests (e.g., hundreds or thousands) that are possible precludes the hypervisor from simply partitioning and assigning the hardware resources to the configured guests, as with other types of virtualization, such as with logical partitioning.
  • In addition to dispatching responsibilities, the hypervisor has many other responsibilities, including managing I/O interruptions for the guest operating systems. When an I/O interruption targets a guest operating system, the hypervisor takes control because there are insufficient native hardware controls to allow each of the possible many virtual machines to be assigned its own unique set of interruption controls. Thus, in response to an I/O interruption, such as an adapter interruption, a condition is recognized which causes the hypervisor to gain control. The hypervisor then examines the VM-owned adapter state indicators to identify the signaling device, correlates that device to the owning guest, posts the guest-owned state indicator, and makes a virtual adapter interruption pending to the associated guest operating system. This interruption interception and subsequent interruption processing overhead is significant, and with the increasing number of guest operating systems that can be processed, the overhead associated with using the hypervisor for such adapter interruptions is becoming prohibitive.
  • Based on the foregoing, a need exists for an enhanced capability to handle I/O interruptions. For example, a need exists for a technique that minimizes hypervisor involvement in managing I/O interruptions.
  • SUMMARY OF THE INVENTION
  • The shortcomings of the prior art are overcome and additional advantages are provided through the provision of a method of managing I/O interruptions. The method includes, for instance, having a dispatchable guest program in a computing environment, the computing environment to present I/O interruptions absent per-guest interruption hardware; and providing an I/O interruption to the dispatchable guest program, absent intervention by a hypervisor of the computing environment.
  • In a further aspect of the present invention, a method of managing I/O interruptions is provided. The method includes, for instance, aggregating in a list a plurality of notifications for a plurality of guest programs of a computing environment for which a plurality of I/O interruptions are to be presented; and providing the list to a hypervisor of the computing environment, the hypervisor to process at least one notification of the plurality of notifications.
  • In another aspect of the present invention, a method of managing I/O interruptions is provided. The method includes, for instance, obtaining an I/O interruption for a guest program of a virtualized real memory environment; determining a dispatch state of the guest program; providing the I/O interruption to the guest program absent intervention by a hypervisor of the virtualized real memory environment, in response to the dispatch state being of one state; and providing the I/O interruption to the guest program with hypervisor intervention, in response to the dispatch state being of another state.
  • In yet a further aspect of the present invention, a method of managing I/O interruptions is provided. The method includes, for instance, providing an I/O interruption to a dispatchable guest program of a virtualized real memory environment, wherein the providing is absent of intervention by a hypervisor of the virtualized real memory environment.
  • System and computer program products corresponding to the above-summarized methods are also described and claimed herein.
  • Additional features and advantages are realized through the techniques of the present invention. Other embodiments and aspects of the invention are described in detail herein and are considered a part of the claimed invention.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • The subject matter which is regarded as the invention is particularly pointed out and distinctly claimed in the claims at the conclusion of the specification. The foregoing and other objects, features, and advantages of the invention are apparent from the following detailed description taken in conjunction with the accompanying drawings in which:
  • FIG. 1 depicts one embodiment of a computing environment to incorporate and use one or more aspects of the present invention;
  • FIG. 2 depicts one example of a guest interruption state area for a guest operating system of FIG. 1, in accordance with an aspect of the present invention;
  • FIG. 3 depicts one embodiment of the logic associated with receiving an I/O interruption, in accordance with an aspect of the present invention;
  • FIGS. 4 a-4 b depict one embodiment of details associated with posting a received I/O interruption, in accordance with an aspect of the present invention; and
  • FIG. 5 depicts one embodiment of the logic associated with presenting a posted I/O interruption, in accordance with an aspect of the present invention.
  • BEST MODE FOR CARRYING OUT THE INVENTION
  • In accordance with an aspect of the present invention, an I/O interruption capability is provided in which hypervisor involvement in managing I/O interruptions is minimized. For example, in non-dedicated interruption hardware environments, I/O interruptions, such as adapter interruptions, are presented directly to guest programs (e.g., guest operating systems) which are dispatched or due to be dispatched (i.e., dispatchable) without requiring any hypervisor involvement. As a further example, for guests not due to be dispatched (i.e., non-dispatchable), interruptions can be posted for the guests, and notifications to the hypervisor can be aggregated, such that a single invocation of the hypervisor can process a plurality of notifications for a plurality of guest programs.
  • One embodiment of a computing environment to incorporate and use one or more aspects of the present invention is described with reference to FIG. 1. Computing environment 100 is based, for instance, on the z/Architecture offered by International Business Machines Corporation, Armonk, N.Y. The z/Architecture is described in an IBM® publication entitled, “z/Architecture Principles of Operation,” IBM® Publication No. SA-22-7832-00, December 2000, which is hereby incorporated herein by reference in its entirety. (IBM® is a registered trademark of International Business Machines Corporation, Armonk, N.Y., USA. Other names used herein may be registered trademarks, trademarks, or product names of International Business Machines Corporation or other companies.) In one example, a computing environment based on the z/Architecture includes an eServer zSeries, offered by International Business Machines Corporation, Armonk, N.Y.
  • As one example, computing environment 100 includes a central processor complex (CPC) 102 providing virtual machine support. CPC 102 includes, for instance, one or more virtual machines 104, one or more central processors 106, at least one hypervisor 108 (e.g., a control program), and an input/output subsystem 110, each of which is described below.
  • The virtual machine support of the CPC provides the ability to operate large numbers of virtual machines, each capable of hosting a guest operating system 112, such as Linux. Each virtual machine 104 is capable of functioning as a separate system. That is, each virtual machine can be independently reset, host a guest operating system, and operate with different programs. An operating system or application program running in a virtual machine appears to have access to a full and complete system, but in reality, only a portion of it is available.
  • In this particular example, the model of virtual machines is a V=V model, in which the memory of a virtual machine is backed by virtual memory, instead of real memory. Each virtual machine has a virtual linear memory space. The physical resources are owned by a hypervisor 108, such as a VM hypervisor, and the shared physical resources are dispatched by the hypervisor to the guest operating systems, as needed, to meet their processing demands. This V=V virtual machine model assumes that the interactions between the guest operating systems and the physical shared machine resources are controlled by the VM hypervisor, since the large number of guests typically precludes the hypervisor from simply partitioning and assigning the hardware resources to the configured guests. One or more aspects of a V=V model are further described in an IBM publication entitled “z/VM: Running Guest Operating Systems,” IBM Publication No. SC24-5997-02, October 2001, which is hereby incorporated herein by reference in its entirety.
  • Central processors 106 are physical processor resources that are assignable to a virtual machine. For instance, virtual machine 104 includes one or more logical processors, each of which represents all or a share of a physical processor resource 106 that may by dynamically allocated to the virtual machine. Virtual machines 104 are managed by hypervisor 108. As examples, the hypervisor may be implemented in microcode running on processors 106 or be a part of a host operating system executing on the machine. In one example, hypervisor 108 is a VM hypervisor, such as z/VM®, offered by International Business Machines Corporation, Armonk, N.Y. One embodiment of z/VM® is described in an IBM publication entitled “z/VM: General Information Manual,” IBM Publication No. GC24-5991-04, October 2001, which is hereby incorporated herein by reference in its entirety.
  • Input/output subsystem 110 directs the flow of information between input devices and main storage. It is coupled to the central processing complex, in that it can be part of the central processing complex or separate therefrom. The I/O subsystem relieves the central processors of the task of communicating directly with the I/O devices coupled to the CPC and permits data processing to proceed concurrently with I/O processing. The I/O subsystem includes I/O communications adapters, such as QDIO adapters, infiniband adapters, etc., used in communicating with the I/O devices.
  • At times, the I/O subsystem produces interruptions that are to be presented to the guest operating systems of the virtual machines. In one example, these interruptions include adapter interruptions. Adapter interruptions have no associated status information (i.e., no other information apart from the interrupt initiative), but allow a device to initiate a program response to a device operation. An adapter interruption (or other I/O interruption) may be presented directly to a guest without hypervisor intervention, in accordance with an aspect of the present invention. For example, an adapter interruption for a dispatchable guest operating system is provided to the guest operating system without hypervisor intervention. The CPC (e.g., firmware or microcode) is able to present the interruption without knowledge or care of the hypervisor. To facilitate this, the CPC employs one or more controls associated with the guest, as described in further detail below.
  • Associated with each guest is a small amount of memory to maintain interruption virtualization and control information dedicated to that guest. As one example, the controls are provided in a contiguous block of storage, referred to herein as a guest interruption state area (GISA). One GISA is established for and is dedicated to each guest, and may be updated by the CPC directly without hypervisor intervention, or by the hypervisor for certain situations.
  • One example of a GISA is described with reference to FIG. 2. A GISA 200 is aligned on a quad-word boundary, as one example, and includes, for instance, the following:
  • (a) Alert list next address 202 which points to the next GISA in an alert list. An alert list is a linked list of GISAs, each corresponding to a guest for which there is at least one pending alerting condition. The alert list enables aggregation of interruptions for a plurality of guests, if such a situation warrants aggregation. If this GISA is the last in the alert list, then address 202 is zero. If the GISA is not in the alert list, then the address points to the GISA itself.
  • (b) Interruption pending mask (IPM) 204 is a mask associated with the guest that includes indicators for a plurality of interruption subclasses (ISCs) associated with the guest. As one example, the zSeries architecture provides added granularity of control of I/O interruptions by providing eight I/O interruption subclasses which are maskable via, for instance, Control Register 6. Each interruption subclass (ISC) controls the enablement of that subclass of I/O interrupt. There is a one for one correspondence between the bits of the IPM and the interruption subclasses in the guest's control register 6. When an adapter interruption is made pending for a guest, the bit in the IPM that corresponds to the ISC associated with the device presenting the interruption is set to one by the CPC. A bit in the IPM is reset (no adapter interruption pending state), when the corresponding interruption is presented to the guest; withdrawn by the host program; or reset.
  • c) Interruption Alert Mask (IAM) 206 is another mask corresponding to a guest. In one example, each bit in this mask also corresponds one for one with the eight I/O interruption subclass enablement bits located in the guest's control register 6. This mask is set by the hypervisor, when the hypervisor is to be notified (called an alert-interruption condition or alerting condition) that adapter interrupts on certain guest interruption subclasses are to be presented to the guest program. For example, when a guest program is in the wait state (i.e., non-dispatchable) and thus, the hypervisor does not have initiative to dispatch the guest program, the hypervisor is to be notified (via the alert interruption condition) of an adapter interruption pending condition for the guest in the wait state. The alert interruption provides initiative for the hypervisor to be given control so that it can then schedule the guest program to be dispatched. As described in further detail below, when a bit in the IAM is set, and an adapter interruption corresponding to the same guest interruption subclass is to be made pending, an alerting condition is created. After the alerting condition is recognized, the IAM is reset. This is an example of a case where the alert list is used to keep track of the list of guest programs for which the hypervisor is to process interruptions.
  • The GISA facilitates the presenting of adapter interruptions to the guest programs. Depending on the state of the guest program, the adapter interruption is presented directly to the guest program without hypervisor intervention, or some hypervisor involvement is used so that pending interruptions are presented timely. This is described in further detail with reference to FIGS. 3-5.
  • FIG. 3 depicts one embodiment of the logic associated with receiving an interruption for a guest, in accordance with an aspect of the present invention; FIGS. 4 a-4 b provide one embodiment of further details regarding the posting of a received I/O interruption; and FIG. 5 depicts one embodiment of the logic associated with presenting a posted interruption to an active guest.
  • Referring to FIG. 3, the central processing complex receives an interrupt, such as an adapter interrupt, from the I/O subsystem via, for instance, hardware generated signals, STEP 300. In response to receiving the interrupt, the CPC sets one or more interrupt indicators, STEP 302. In one example, this includes setting an IPM bit associated with the guest to which the interrupt is to be presented. Moreover, the CPC performs various actions to determine whether the hypervisor is to be alerted to an interruption condition, STEP 304. These actions, as well as setting the indicator, are described further with reference to FIGS. 4 a-4 b.
  • Referring to FIG. 4 a, in response to an interruption being received by the CPC, the IPM and IAM are fetched from the GISA and two copies (e.g., Copy A and Copy B) are kept in, for instance, a work area in main memory, STEP 400. Thereafter, the IPM bit in Copy A corresponding to N, where N is the ISC number for the interruption to be posted, is set to, for instance, one, STEP 402. A determination is also made as to whether the corresponding IAM bit is currently set, INQUIRY 404.
  • If the IAM bit is set, indicating that the hypervisor is to be alerted, then the IAM is reset, STEP 406. In one example, this includes setting the entire IAM to zeros. Moreover, a determination is made as to whether an alert is already pending for this guest, INQUIRY 408. If the alert list next address (Naddr) in the GISA points to itself indicating that the alert is not already pending, then the GISA is inserted into the alert list, as follows. A determination is made as to whether the IPM and IAM of Copy B equal the IPM and IAM of the GISA and whether the alert is still not pending for this GISA, INQUIRY 410. If the compare is successful, then the alert list next address in the GISA is set to zeros, and the IPM and IAM of the GISA are set to Copy A, STEP 412 (FIG. 4 b). In one example, INQUIRY 410 and STEP 412 are accomplished by an atomic compare double and swap operation. Next, the Naddr in the GISA is set to the contents of an alert list origin (ALO) stored in, for instance, a global control block, STEP 414. Moreover, a determination is made as to whether the ALO and the Naddr value just placed in the GISA are equal, INQUIRY 416. If unequal, processing continues with STEP 414. Otherwise, the address of the GISA is swapped into the ALO, STEP 418 and, an alerting interrupt initiative is generated for the hypervisor, STEP 420. In one example, the check of INQUIRY 416 and the swap of STEP 418 are performed by an atomic compare and swap operation.
  • The alerting interruption is either made pending or suppressed for a period of time (e.g., as preset by the hypervisor) allowing alerts to aggregate for the hypervisor. In response to accepting by the hypervisor the alerting interruption from the CPC, the alert list is examined and the corresponding guests are serviced by the hypervisor. The hypervisor can aggregate the processing of multiple pending interruptions for multiple guests during a single hypervisor invocation, instead of having to be dispatched to process each request individually. This processing includes removing the affected guests from the wait state and placing them on the dispatch queue.
  • When the hypervisor processes the alert list, it first performs a compare and swap operation to atomically retrieve the alert list origin and place zeros in the alert list origin. By doing so, a new alert list is subsequently created for the CPC causing the hypervisor's fetching of the alert list to appear atomic. Since the hypervisor and the CPC can update the fields in the GISA concurrently, when the hypervisor processes the GISA for alerting interruptions, it dequeues the GISA from the alert list first (e.g., sets the alert list next address to point to the GISA itself), before again making the IAM non-zero. By doing so, the hypervisor ensures that no alert interruption condition is lost.
  • Returning to INQUIRY 410 (FIG. 4 a), if the IPM and IAM in the GISA are not equal to the IPM and IAM in Copy B, then processing continues with STEP 400. Further, returning to INQUIRY 404, if the IAM bit in Copy A is not one or if the GISA is already a part of the alert list (the alert list next address does not point to itself), INQUIRY 408, then a determination is made as to whether the IPM and IAM in the GISA are equal to the IPM and IAM in Copy B, INQUIRY 422. In one embodiment, this determination is made by a compare and swap operation. For example, the compare and swap instruction atomically compares Copy B with the appropriate portions of the GISA. If they are unequal, processing continues with STEP 400. Otherwise, the IPM and IAM of the GISA are set to the IPM and IAM of Copy A, STEP 424.
  • Since the guest is active (e.g., IAM is zero), the adapter interruption is presented to the guest without hypervisor intervention. This is described further with reference to FIG. 5. In one example, when the guest is active, IPM bits in the GISA corresponding to the guest are examined periodically to determine whether there is a pending interruption for that guest, STEP 500. If there is no interruption pending for the guest, then processing continues at STEP 500. Otherwise, if there is a pending interruption, then the IPM bit is turned off, for example, for the highest priority enabled ISC, STEP 504. Additionally, the adapter interruption is presented to the guest for this ISC, STEP 506. In one example, this is performed by storing the current program status word (PSW) and I/O interruption code in guest memory, and loading a new PSW from guest memory to give control to the interruption handler in the guest program.
  • In the case where a guest program is dispatchable but not active, the interruption is presented in the manner above when the guest becomes active.
  • Described in detail above is a capability for providing interrupts to guests which minimizes hypervisor involvement. The capability is facilitated by a memory mapped virtualization technique in which interruption hardware is virtualized. This capability can be used for any hardware that generates stateless interruptions (e.g., does not carry other information apart from the interruption). Advantageously, one or more aspects of this capability significantly reduce the processing overhead involved with presenting adapter interruptions to pageable mode guest operating systems, as well as other guest operating systems.
  • In one example, one or more aspects of the present invention can be included as part of an adapter interruption facility. One example of such a facility, without the extensions of the present invention, is included in eServer zSeries 900 servers, offered by International Business Machines Corporation, Armonk, N.Y. Further, information regarding one or more aspects of the facility is described in “zSeries Features For Optimized Sockets-Based Messaging: HiperSockets and OSA-Express,” by M. E. Baskey et al., which is hereby incorporated herein by reference in its entirety.
  • With such a facility, the interruption initiative presented to the hypervisor may be facilitated by employing a global summary provided by the facility. A program can use one or more instructions to test the state of a global summary indicator, or set or reset the indicator. Further, the time intervals for providing alerting interruptions to the hypervisor can be calculated according to a time delay technique that uses an adapter time delay value and adapter current time value of the facility.
  • As a further example, the starting address of the GISA for a particular guest is provided by the hypervisor to the CPC when a guest is made active. Additionally, the address of the owning guest's GISA for a particular device is provided by a system configuration command. Therefore, the address of the GISA uniquely identifies its associated guest and correlates that guest with the devices it owns. Yet further, the ALO is maintained in a global control block, referred to as a guest information block (GIB).
  • Although a computing environment is described above, one or more variations of the environment may be made without departing from the spirit of the present invention. For example, the CPC may include one or more logical partitions in which one or more virtual machines are residing therein. Further, if one or more logical partitions are provided, then an LPAR hypervisor may also be provided. Additionally, one or more CPCs an be provided.
  • Further, even though one or more aspects of the present invention are described with reference to a virtualized real memory environment, one or more aspects of the present invention are applicable to other environments that do not have or use per-guest interruption hardware.
  • Moreover, although examples of controls are provided herein, one or more other controls may be used and/or one or more modifications to one or more of the controls (e.g., different number of bits, etc.) may be made without departing from the spirit of the present invention.
  • Further, other variations to the described logic can be made without departing from the spirit of the present invention. For example, in another embodiment, alerts are aggregated by generating the altering interruption to the hypervisor only when the alert list transitions from empty to non-empty. Since the hypervisor processes the entire alert list in response to an alerting interruption, this technique avoids redundant alerting interruptions for which no additional hypervisor processing is necessary.
  • Yet further, although the guests in the examples provided herein are operating systems, other guests may benefit from one or more aspects of the present invention. Additionally, other than adapter interruptions can be managed in accordance with one or more aspects of the present invention.
  • The present invention can be included in an article of manufacture (e.g., one or more computer program products) having, for instance, computer usable media. The media has therein, for instance, computer readable program code means or logic (e.g., instructions, code, commands, etc.) to provide and facilitate the capabilities of the present invention. The article of manufacture can be included as a part of a computer system or sold separately.
  • Additionally, at least one program storage device readable by a machine embodying at least one program of instructions executable by the machine to perform the capabilities of the present invention can be provided.
  • The flow diagrams depicted herein are just examples. There may be many variations to these diagrams or the steps (or operations) described therein without departing from the spirit of the invention. For instance, the steps may be performed in a differing order, or steps may be added, deleted or modified. All of these variations are considered a part of the claimed invention.
  • Although preferred embodiments have been depicted and described in detail herein, it will be apparent to those skilled in the relevant art that various modifications, additions, substitutions and the like can be made without departing from the spirit of the invention and these are therefore considered to be within the scope of the invention as defined in the following claims.

Claims (31)

  1. 1. A method of managing input/output (I/O) interruptions, said method comprising:
    aggregating in a list a plurality of notifications for a plurality of guest programs of a computing environment for which a plurality of I/O interruptions are to be presented; and
    providing the list to a hypervisor of the computing environment, the hypervisor to process at least one notification of the plurality of notifications.
  2. 2. The method of claim 1, further comprising processing, by the hypervisor, at least a multiple of notifications of the plurality of notifications corresponding to at least a multiple of guest programs of the plurality of guest programs.
  3. 3. The method of claim 2, wherein the processing is performed via a single invocation of the hypervisor.
  4. 4. The method of claim 2, wherein the at least a multiple of guest programs are in a non-dispatchable state, and the processing comprises placing the at least a multiple of guest programs in a dispatchable state.
  5. 5. The method of claim 4, further comprising, for a guest program in the dispatchable state, presenting an I/O interruption to the guest program in response to the guest program becoming active.
  6. 6. The method of claim 1, further comprising detecting the plurality of I/O interruptions, said detecting of an I/O interruption of the plurality of I/O interruptions comprising employing one or more controls associated with a guest program corresponding to the I/O interruption.
  7. 7. The method of claim 1, wherein the aggregating is in response to a plurality of dispatch states of the plurality of guest programs.
  8. 8. The method of claim 1, wherein the aggregating for a notification in the list comprises adding the notification to the list responsive to an indication by the hypervisor specifying involvement in processing an I/O interruption associated with that notification.
  9. 9. The method of claim 8, wherein the indication is provided in a control associated with a guest program corresponding to the I/O interruption.
  10. 10. A system of managing input/output (I/O) interruptions, said system comprising:
    means for aggregating in a list a plurality of notifications for a plurality of guest programs of a computing environment for which a plurality of I/O interruptions are to be presented; and
    means for providing the list to a hypervisor of the computing environment, the hypervisor to process at least one notification of the plurality of I/O notifications.
  11. 11. The system of claim 10, further comprising means for processing, by the hypervisor, at least a multiple of notifications of the plurality of notifications corresponding to at least a multiple of guest programs of the plurality of guest programs.
  12. 12. The system of claim 11, wherein the means for processing by the hypervisor comprises a single invocation of the hypervisor.
  13. 13. The system of claim 11, wherein the at least a multiple of guest programs are in a non-dispatchable state, and the means for processing comprises means for placing the at least a multiple of guest programs in a dispatchable state.
  14. 14. The system of claim 10, further comprising means for detecting the plurality of I/O interruptions, said means for detecting an I/O interruption of the plurality of I/O interruptions comprising means for employing one or more controls associated with a guest program corresponding to the I/O interruption.
  15. 15. The system of claim 10, wherein the aggregating is in response to a plurality of dispatch states of the plurality of guest programs.
  16. 16. The system of claim 10, wherein the means for aggregating for a notification in the list comprises means for adding the notification to the list responsive to an indication by the hypervisor specifying involvement in processing an I/O interruption associated with that notification.
  17. 17. The system of claim 16, wherein the indication is provided in a control associated with a guest program corresponding to the I/O interruption.
  18. 18. A system of managing input/output (I/O) interruptions, said system comprising:
    an aggregated list of a plurality of notifications for a plurality of guest programs of a computing environment for which a plurality of I/O interruptions are to be presented; and
    a hypervisor of the computing environment to process at least one notification of the plurality of notifications of the list.
  19. 19. An article of manufacture comprising:
    at least one computer usable medium having computer readable program code logic to manage input/output (I/O) interruptions, the computer readable program code logic comprising:
    logic to provide an I/O interruption to a dispatchable guest program in a computing environment, said computing environment to present I/O interruptions absent per-guest interruption hardware, wherein the logic to provide comprises logic to provide the I/O interruption absent intervention by a hypervisor of the computing environment, and wherein the guest program is dispatchable and not active, and the logic to provide comprises logic to present the I/O interruption to the guest program, in response to the guest program becoming active.
  20. 20. The article of manufacture of claim 19, wherein the logic to provide comprises logic to detect that the I/O interruption is pending for the guest program, the logic to detect employing one or more controls associated with the guest program.
  21. 21. The article of manufacture of claim 20, wherein the detection is in response to a dispatch state of the guest program.
  22. 22. The article of manufacture of claim 21, wherein the dispatch state becomes active, and the logic to provide comprises logic to present the I/O interruption to the guest program in response to detection of the I/O interruption for the active guest program.
  23. 23. An article of manufacture comprising:
    at least one computer usable medium having computer readable program code logic to manage input/output (I/O) interruptions, the computer readable program code logic comprising:
    logic to aggregate in a list a plurality of notifications for a plurality of guest programs of a computing environment for which a plurality of I/O interruptions are to be presented; and
    logic to provide the list to a hypervisor of the computing environment, the hypervisor to process at least one notification of the plurality of notifications.
  24. 24. The article of manufacture of claim 23, further comprising logic to process, by the hypervisor, at least a multiple of notifications of the plurality of notifications corresponding to at least a multiple of guest programs of the plurality of guest programs.
  25. 25. The article of manufacture of claim 24, wherein there is a single invocation of the hypervisor.
  26. 26. The article of manufacture of claim 24, wherein the at least a multiple of guest programs are in a non-dispatchable state, and the logic to process comprises logic to place the at least a multiple of guest programs in a dispatchable state.
  27. 27. The article of manufacture of claim 23, further comprising logic to detect the plurality of I/O interruptions, said logic to detect an I/O interruption of the plurality of I/O interruptions comprising logic to employ one or more controls associated with a guest program corresponding to the I/O interruption.
  28. 29. The article of manufacture of claim 23, wherein the aggregation is in response to a plurality of dispatch states of the plurality of guest programs.
  29. 29. The article of manufacture of claim 23, wherein the logic to aggregate for a notification in the list comprises logic to add the notification to the list responsive to an indication by the hypervisor specifying involvement in processing an I/O interruption associated with that notification.
  30. 30. The article of manufacture of claim 29, wherein the indication is provided in a control associated with a guest program corresponding to the I/O interruption.
  31. 31. An article of manufacture comprising:
    at least one computer usable medium having computer readable program code logic to manage input/output (I/O) interruptions, the computer readable program code logic comprising:
    logic to obtain an I/O interruption for a guest program of a virtualized real memory environment;
    logic to determine a dispatch state of the guest program;
    logic to provide the I/O interruption to the guest program absent intervention by a hypervisor of the virtualized real memory environment, in response to the dispatch state being of one state; and
    logic to provide the I/O interruption to the guest program with hypervisor intervention, in response to the dispatch state being of another state.
US11428085 2003-05-12 2006-06-30 Managing input/output interruptions in non-dedicated interruption hardware environments Active US7380041B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US10435907 US7130949B2 (en) 2003-05-12 2003-05-12 Managing input/output interruptions in non-dedicated interruption hardware environments
US11428085 US7380041B2 (en) 2003-05-12 2006-06-30 Managing input/output interruptions in non-dedicated interruption hardware environments

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11428085 US7380041B2 (en) 2003-05-12 2006-06-30 Managing input/output interruptions in non-dedicated interruption hardware environments
US11851744 US7454548B2 (en) 2003-05-12 2007-09-07 Managing input/output interruptions in non-dedicated interruption hardware environments, and methods therefor
US12125963 US7543095B2 (en) 2003-05-12 2008-05-23 Managing input/output interruptions in non-dedicated interruption hardware environments

Publications (2)

Publication Number Publication Date
US20060242643A1 true true US20060242643A1 (en) 2006-10-26
US7380041B2 US7380041B2 (en) 2008-05-27

Family

ID=33417039

Family Applications (4)

Application Number Title Priority Date Filing Date
US10435907 Active 2024-10-04 US7130949B2 (en) 2003-05-12 2003-05-12 Managing input/output interruptions in non-dedicated interruption hardware environments
US11428085 Active US7380041B2 (en) 2003-05-12 2006-06-30 Managing input/output interruptions in non-dedicated interruption hardware environments
US11851744 Active US7454548B2 (en) 2003-05-12 2007-09-07 Managing input/output interruptions in non-dedicated interruption hardware environments, and methods therefor
US12125963 Active US7543095B2 (en) 2003-05-12 2008-05-23 Managing input/output interruptions in non-dedicated interruption hardware environments

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US10435907 Active 2024-10-04 US7130949B2 (en) 2003-05-12 2003-05-12 Managing input/output interruptions in non-dedicated interruption hardware environments

Family Applications After (2)

Application Number Title Priority Date Filing Date
US11851744 Active US7454548B2 (en) 2003-05-12 2007-09-07 Managing input/output interruptions in non-dedicated interruption hardware environments, and methods therefor
US12125963 Active US7543095B2 (en) 2003-05-12 2008-05-23 Managing input/output interruptions in non-dedicated interruption hardware environments

Country Status (2)

Country Link
US (4) US7130949B2 (en)
CN (1) CN1297893C (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7363536B1 (en) * 2004-07-30 2008-04-22 Hewlett-Packard Development Company, L.P. Delivery of an interruption to an operating system
US20080189570A1 (en) * 2007-01-30 2008-08-07 Shizuki Terashima I/o device fault processing method for use in virtual computer system
US20150277908A1 (en) * 2014-03-27 2015-10-01 International Business Machines Corporation Start virtual execution instruction for dispatching multiple threads in a computer
US9195493B2 (en) * 2014-03-27 2015-11-24 International Business Machines Corporation Dispatching multiple threads in a computer
US9213569B2 (en) 2014-03-27 2015-12-15 International Business Machines Corporation Exiting multiple threads in a computer
US9389897B1 (en) 2014-12-18 2016-07-12 International Business Machines Corporation Exiting multiple threads of a simulation environment in a computer
US9772867B2 (en) 2014-03-27 2017-09-26 International Business Machines Corporation Control area for managing multiple threads in a computer

Families Citing this family (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2409543B (en) * 2003-12-23 2006-11-01 Advanced Risc Mach Ltd Interrupt masking control
US7954099B2 (en) * 2006-05-17 2011-05-31 International Business Machines Corporation Demultiplexing grouped events into virtual event queues while in two levels of virtualization
US7958506B2 (en) * 2006-06-22 2011-06-07 Intel Corporation Time sliced interrupt processing on virtualized platform
US7853958B2 (en) * 2006-06-28 2010-12-14 Intel Corporation Virtual machine monitor management from a management service processor in the host processing platform
US20080034193A1 (en) * 2006-08-04 2008-02-07 Day Michael N System and Method for Providing a Mediated External Exception Extension for a Microprocessor
US7478185B2 (en) * 2007-01-05 2009-01-13 International Business Machines Corporation Directly initiating by external adapters the setting of interruption initiatives
US8776041B2 (en) * 2007-02-05 2014-07-08 Microsoft Corporation Updating a virtual machine monitor from a guest partition
KR20090011481A (en) * 2007-07-26 2009-02-02 삼성전자주식회사 Method for intrusion detecting in a terminal device and apparatus therefor
US7984449B2 (en) * 2007-08-15 2011-07-19 International Business Machines Corporation In-band communication with virtual machines via a hypervisor message bus
US8453143B2 (en) * 2007-09-19 2013-05-28 Vmware, Inc. Reducing the latency of virtual interrupt delivery in virtual machines
US8689224B2 (en) * 2007-09-26 2014-04-01 The Boeing Company Methods and systems for preserving certified software through virtualization
US8719936B2 (en) * 2008-02-01 2014-05-06 Northeastern University VMM-based intrusion detection system
US8522237B2 (en) * 2008-04-09 2013-08-27 The Boeing Company Virtualizing embedded systems
US8473946B2 (en) * 2008-07-03 2013-06-25 Vmware, Inc. Efficient recording and replaying of non-deterministic instructions in a virtual machine and CPU therefor
GB2462258B (en) * 2008-07-28 2012-02-08 Advanced Risc Mach Ltd Interrupt control for virtual processing apparatus
JP5104631B2 (en) * 2008-08-01 2012-12-19 日本電気株式会社 Distributed management method of a transmission apparatus and transmission apparatus
US8180944B2 (en) 2009-01-26 2012-05-15 Advanced Micro Devices, Inc. Guest interrupt manager that records interrupts for guests and delivers interrupts to executing guests
JP2011118578A (en) * 2009-12-02 2011-06-16 Renesas Electronics Corp Information processing apparatus
US20110197004A1 (en) * 2010-02-05 2011-08-11 Serebrin Benjamin C Processor Configured to Virtualize Guest Local Interrupt Controller
US8677180B2 (en) 2010-06-23 2014-03-18 International Business Machines Corporation Switch failover control in a multiprocessor computer system
US8504754B2 (en) 2010-06-23 2013-08-06 International Business Machines Corporation Identification of types of sources of adapter interruptions
US9342352B2 (en) 2010-06-23 2016-05-17 International Business Machines Corporation Guest access to address spaces of adapter
US9213661B2 (en) 2010-06-23 2015-12-15 International Business Machines Corporation Enable/disable adapters of a computing environment
US8645767B2 (en) 2010-06-23 2014-02-04 International Business Machines Corporation Scalable I/O adapter function level error detection, isolation, and reporting
US8510599B2 (en) 2010-06-23 2013-08-13 International Business Machines Corporation Managing processing associated with hardware events
US8505032B2 (en) 2010-06-23 2013-08-06 International Business Machines Corporation Operating system notification of actions to be taken responsive to adapter events
US8417911B2 (en) 2010-06-23 2013-04-09 International Business Machines Corporation Associating input/output device requests with memory associated with a logical partition
US8572635B2 (en) 2010-06-23 2013-10-29 International Business Machines Corporation Converting a message signaled interruption into an I/O adapter event notification
US8635430B2 (en) 2010-06-23 2014-01-21 International Business Machines Corporation Translation of input/output addresses to memory addresses
US8650337B2 (en) 2010-06-23 2014-02-11 International Business Machines Corporation Runtime determination of translation formats for adapter functions
US8468284B2 (en) * 2010-06-23 2013-06-18 International Business Machines Corporation Converting a message signaled interruption into an I/O adapter event notification to a guest operating system
US8615645B2 (en) 2010-06-23 2013-12-24 International Business Machines Corporation Controlling the selectively setting of operational parameters for an adapter
US8671287B2 (en) 2010-06-23 2014-03-11 International Business Machines Corporation Redundant power supply configuration for a data center
US8621112B2 (en) 2010-06-23 2013-12-31 International Business Machines Corporation Discovery by operating system of information relating to adapter functions accessible to the operating system
US8416834B2 (en) 2010-06-23 2013-04-09 International Business Machines Corporation Spread spectrum wireless communication code for data center environments
US8656228B2 (en) 2010-06-23 2014-02-18 International Business Machines Corporation Memory error isolation and recovery in a multiprocessor computer system
US8478922B2 (en) 2010-06-23 2013-07-02 International Business Machines Corporation Controlling a rate at which adapter interruption requests are processed
US8683108B2 (en) 2010-06-23 2014-03-25 International Business Machines Corporation Connected input/output hub management
US9195623B2 (en) 2010-06-23 2015-11-24 International Business Machines Corporation Multiple address spaces per adapter with address translation
US8745292B2 (en) 2010-06-23 2014-06-03 International Business Machines Corporation System and method for routing I/O expansion requests and responses in a PCIE architecture
US8645606B2 (en) 2010-06-23 2014-02-04 International Business Machines Corporation Upbound input/output expansion request and response processing in a PCIe architecture
US8639858B2 (en) 2010-06-23 2014-01-28 International Business Machines Corporation Resizing address spaces concurrent to accessing the address spaces
US8566480B2 (en) 2010-06-23 2013-10-22 International Business Machines Corporation Load instruction for communicating with adapters
US8918573B2 (en) 2010-06-23 2014-12-23 International Business Machines Corporation Input/output (I/O) expansion response processing in a peripheral component interconnect express (PCIe) environment
US8615622B2 (en) 2010-06-23 2013-12-24 International Business Machines Corporation Non-standard I/O adapters in a standardized I/O architecture
US8650335B2 (en) 2010-06-23 2014-02-11 International Business Machines Corporation Measurement facility for adapter functions
US8549182B2 (en) 2010-06-23 2013-10-01 International Business Machines Corporation Store/store block instructions for communicating with adapters
US8626970B2 (en) 2010-06-23 2014-01-07 International Business Machines Corporation Controlling access by a configuration to an adapter function
US9183029B2 (en) * 2011-02-28 2015-11-10 Red Hat Israel, Ltd. Synchronizing backend peripheral devices with a virtual machine running state
US8966478B2 (en) 2011-06-28 2015-02-24 The Boeing Company Methods and systems for executing software applications using hardware abstraction
US8892802B2 (en) * 2012-01-01 2014-11-18 International Business Machines Corporation Enhancing interrupt handling in a virtual environment
US9009368B2 (en) 2012-10-23 2015-04-14 Advanced Micro Devices, Inc. Interrupt latency performance counters
US9374324B2 (en) 2014-03-14 2016-06-21 International Business Machines Corporation Determining virtual adapter access controls in a computing environment
US9424216B2 (en) * 2014-03-14 2016-08-23 International Business Machines Corporation Ascertaining configuration of a virtual adapter in a computing environment

Citations (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4564903A (en) * 1983-10-05 1986-01-14 International Business Machines Corporation Partitioned multiprocessor programming system
US4627054A (en) * 1984-08-27 1986-12-02 International Business Machines Corporation Multiprocessor array error detection and recovery apparatus
US4812967A (en) * 1985-03-11 1989-03-14 Hitachi, Ltd. Method and apparatus for controlling interrupts in a virtual machine system
US5222215A (en) * 1991-08-29 1993-06-22 International Business Machines Corporation Cpu expansive gradation of i/o interruption subclass recognition
US5291605A (en) * 1991-02-08 1994-03-01 Nec Corporation Arrangement and a method for handling interrupt requests in a data processing system in a virtual machine mode
US5361375A (en) * 1989-02-09 1994-11-01 Fujitsu Limited Virtual computer system having input/output interrupt control of virtual machines
US5386524A (en) * 1992-04-16 1995-01-31 Digital Equipment Corporation System for accessing information in a data processing system
US5437033A (en) * 1990-11-16 1995-07-25 Hitachi, Ltd. System for recovery from a virtual machine monitor failure with a continuous guest dispatched to a nonguest mode
US5511217A (en) * 1992-11-30 1996-04-23 Hitachi, Ltd. Computer system of virtual machines sharing a vector processor
US5553291A (en) * 1992-09-16 1996-09-03 Hitachi, Ltd. Virtual machine control method and virtual machine system
US5555414A (en) * 1994-12-14 1996-09-10 International Business Machines Corporation Multiprocessing system including gating of host I/O and external enablement to guest enablement at polling intervals
US5600805A (en) * 1992-06-15 1997-02-04 International Business Machines Corporation Pass-through for I/O channel subsystem call instructions for accessing shared resources in a computer system having a plurality of operating systems
US5621912A (en) * 1994-12-29 1997-04-15 International Business Machines Corporation Method and apparatus for enabling monitoring of guests and native operating systems
US5696970A (en) * 1993-04-01 1997-12-09 Intel Corporation Architecture for implementing PCMCIA card services under the windows operating system in enhanced mode
US6079623A (en) * 1996-11-07 2000-06-27 Hyundai Electronics Industries Co., Ltd. Apparatus for mapping memory PCMCIA cards into I/O window address space to select an internal register and perform read and write operations using an index mechanism
US6195730B1 (en) * 1998-07-24 2001-02-27 Storage Technology Corporation Computer system with storage device mapping input/output processor
US6279064B1 (en) * 1998-08-31 2001-08-21 International Business Machines Corporation System and method for loading commands to a bus, directly loading selective commands while queuing and strictly ordering other commands
US6530078B1 (en) * 1998-03-26 2003-03-04 Alexander V. Shmid Virtual machines in OS/390 for execution of any guest system
US20030167353A1 (en) * 2002-01-15 2003-09-04 De Bonet Jeremy S. System and method for determining notification behavior of a system
US20040117532A1 (en) * 2002-12-11 2004-06-17 Bennett Steven M. Mechanism for controlling external interrupts in a virtual machine system
US20040123288A1 (en) * 2002-12-19 2004-06-24 Intel Corporation Methods and systems to manage machine state in virtual machine operations
US6996638B2 (en) * 2003-05-12 2006-02-07 International Business Machines Corporation Method, system and program products for enhancing input/output processing for operating system images of a computing environment
US20060174247A1 (en) * 2005-02-03 2006-08-03 International Business Machines Corporation System for dynamic processor enablement
US20070150894A1 (en) * 2005-12-22 2007-06-28 International Business Machines Corporation System for determining and reporting benefits of borrowed computing resources in a partitioned environment

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3279744D1 (en) 1981-08-03 1989-07-06 Ibm Peripheral sub-systems accommodating guest operating systems
JPH0619747B2 (en) * 1984-01-18 1994-03-16 株式会社日立製作所 I / o instruction execution method, i / o interrupt processing method and a computer system using the same
US4835685A (en) * 1985-05-06 1989-05-30 Computer X, Inc. Virtual single machine with message-like hardware interrupts and processor exceptions
DE58908886D1 (en) 1989-09-29 1995-02-23 Siemens Nixdorf Inf Syst And interrupt control method for the treatment of interrupt requests for input / output operations in a virtual machine system.
US5715419A (en) * 1989-12-05 1998-02-03 Texas Instruments Incorporated Data communications system with address remapping for expanded external memory access
US5253344A (en) * 1991-09-05 1993-10-12 International Business Machines Corp. Method and apparatus for dynamically changing the configuration of a logically partitioned data processing system
US5426748A (en) 1992-01-03 1995-06-20 International Business Machines Corporation Guest/host extended addressing method and means with contiguous access list entries
JPH06187178A (en) * 1992-12-18 1994-07-08 Hitachi Ltd Input and output interruption control method for virtual computer system
US5974440A (en) * 1996-03-25 1999-10-26 Texas Instruments Incorporated Microprocessor with circuits, systems, and methods for interrupt handling during virtual task operation
US6078970A (en) * 1997-10-15 2000-06-20 International Business Machines Corporation System for determining adapter interrupt status where interrupt is sent to host after operating status stored in register is shadowed to host memory
US6725289B1 (en) * 2002-04-17 2004-04-20 Vmware, Inc. Transparent address remapping for high-speed I/O
US20050246453A1 (en) * 2004-04-30 2005-11-03 Microsoft Corporation Providing direct access to hardware from a virtual environment
US20070150897A1 (en) * 2005-12-22 2007-06-28 International Business Machines Corporation Methods and apparatus for detecting deadlock in multithreading programs

Patent Citations (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4564903A (en) * 1983-10-05 1986-01-14 International Business Machines Corporation Partitioned multiprocessor programming system
US4627054A (en) * 1984-08-27 1986-12-02 International Business Machines Corporation Multiprocessor array error detection and recovery apparatus
US4812967A (en) * 1985-03-11 1989-03-14 Hitachi, Ltd. Method and apparatus for controlling interrupts in a virtual machine system
US5361375A (en) * 1989-02-09 1994-11-01 Fujitsu Limited Virtual computer system having input/output interrupt control of virtual machines
US5437033A (en) * 1990-11-16 1995-07-25 Hitachi, Ltd. System for recovery from a virtual machine monitor failure with a continuous guest dispatched to a nonguest mode
US5291605A (en) * 1991-02-08 1994-03-01 Nec Corporation Arrangement and a method for handling interrupt requests in a data processing system in a virtual machine mode
US5222215A (en) * 1991-08-29 1993-06-22 International Business Machines Corporation Cpu expansive gradation of i/o interruption subclass recognition
US5386524A (en) * 1992-04-16 1995-01-31 Digital Equipment Corporation System for accessing information in a data processing system
US5600805A (en) * 1992-06-15 1997-02-04 International Business Machines Corporation Pass-through for I/O channel subsystem call instructions for accessing shared resources in a computer system having a plurality of operating systems
US5553291A (en) * 1992-09-16 1996-09-03 Hitachi, Ltd. Virtual machine control method and virtual machine system
US5511217A (en) * 1992-11-30 1996-04-23 Hitachi, Ltd. Computer system of virtual machines sharing a vector processor
US5696970A (en) * 1993-04-01 1997-12-09 Intel Corporation Architecture for implementing PCMCIA card services under the windows operating system in enhanced mode
US5555414A (en) * 1994-12-14 1996-09-10 International Business Machines Corporation Multiprocessing system including gating of host I/O and external enablement to guest enablement at polling intervals
US5621912A (en) * 1994-12-29 1997-04-15 International Business Machines Corporation Method and apparatus for enabling monitoring of guests and native operating systems
US6079623A (en) * 1996-11-07 2000-06-27 Hyundai Electronics Industries Co., Ltd. Apparatus for mapping memory PCMCIA cards into I/O window address space to select an internal register and perform read and write operations using an index mechanism
US6530078B1 (en) * 1998-03-26 2003-03-04 Alexander V. Shmid Virtual machines in OS/390 for execution of any guest system
US6195730B1 (en) * 1998-07-24 2001-02-27 Storage Technology Corporation Computer system with storage device mapping input/output processor
US6279064B1 (en) * 1998-08-31 2001-08-21 International Business Machines Corporation System and method for loading commands to a bus, directly loading selective commands while queuing and strictly ordering other commands
US20030167353A1 (en) * 2002-01-15 2003-09-04 De Bonet Jeremy S. System and method for determining notification behavior of a system
US20040117532A1 (en) * 2002-12-11 2004-06-17 Bennett Steven M. Mechanism for controlling external interrupts in a virtual machine system
US20040123288A1 (en) * 2002-12-19 2004-06-24 Intel Corporation Methods and systems to manage machine state in virtual machine operations
US6996638B2 (en) * 2003-05-12 2006-02-07 International Business Machines Corporation Method, system and program products for enhancing input/output processing for operating system images of a computing environment
US20060174247A1 (en) * 2005-02-03 2006-08-03 International Business Machines Corporation System for dynamic processor enablement
US20070150894A1 (en) * 2005-12-22 2007-06-28 International Business Machines Corporation System for determining and reporting benefits of borrowed computing resources in a partitioned environment

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7363536B1 (en) * 2004-07-30 2008-04-22 Hewlett-Packard Development Company, L.P. Delivery of an interruption to an operating system
US20080189570A1 (en) * 2007-01-30 2008-08-07 Shizuki Terashima I/o device fault processing method for use in virtual computer system
US7865782B2 (en) * 2007-01-30 2011-01-04 Hitachi, Ltd. I/O device fault processing method for use in virtual computer system
US20150277908A1 (en) * 2014-03-27 2015-10-01 International Business Machines Corporation Start virtual execution instruction for dispatching multiple threads in a computer
US9195493B2 (en) * 2014-03-27 2015-11-24 International Business Machines Corporation Dispatching multiple threads in a computer
US9213569B2 (en) 2014-03-27 2015-12-15 International Business Machines Corporation Exiting multiple threads in a computer
US9223574B2 (en) * 2014-03-27 2015-12-29 International Business Machines Corporation Start virtual execution instruction for dispatching multiple threads in a computer
US9772867B2 (en) 2014-03-27 2017-09-26 International Business Machines Corporation Control area for managing multiple threads in a computer
US9389897B1 (en) 2014-12-18 2016-07-12 International Business Machines Corporation Exiting multiple threads of a simulation environment in a computer

Also Published As

Publication number Publication date Type
US7543095B2 (en) 2009-06-02 grant
US20080235425A1 (en) 2008-09-25 application
US7380041B2 (en) 2008-05-27 grant
CN1297893C (en) 2007-01-31 grant
US20080046623A1 (en) 2008-02-21 application
US7454548B2 (en) 2008-11-18 grant
US7130949B2 (en) 2006-10-31 grant
US20040230712A1 (en) 2004-11-18 application
CN1550986A (en) 2004-12-01 application

Similar Documents

Publication Publication Date Title
US8032899B2 (en) Providing policy-based operating system services in a hypervisor on a computing system
US6728722B1 (en) General data structure for describing logical data spaces
US7257811B2 (en) System, method and program to migrate a virtual machine
US20090217267A1 (en) Dynamic Resizing of Applications Running on Virtual Machines
US7000237B1 (en) Method for communicating occurrence of events in a storage medium
US7325233B2 (en) Process attachable virtual machines
US20070288941A1 (en) Sharing kernel services among kernels
US6308255B1 (en) Symmetrical multiprocessing bus and chipset used for coprocessor support allowing non-native code to run in a system
US7685347B2 (en) Interrupt controller for invoking service routines with associated priorities
US20090307688A1 (en) Virtual Cluster Proxy to Virtual I/O Server Manager Interface
US6880021B2 (en) Intelligent interrupt with hypervisor collaboration
US6948172B1 (en) Preemptive multi-tasking with cooperative groups of tasks
US4387427A (en) Hardware scheduler/dispatcher for data processing system
US20070136721A1 (en) Sharing a kernel of an operating system among logical partitions
US20090307436A1 (en) Hypervisor Page Fault Processing in a Shared Memory Partition Data Processing System
US20100191887A1 (en) Monitoring Interrupt Acceptances in Guests
US7222203B2 (en) Interrupt redirection for virtual partitioning
US20110138382A1 (en) System and method for loading resources into a virtual machine
US6345311B1 (en) Method and system of dynamically moving objects between heterogeneous execution environments
US20020087618A1 (en) System and method for utilizing dispatch queues in a multiprocessor data processing system
US4177513A (en) Task handling apparatus for a computer system
US20050050545A1 (en) Allocating computing resources in a distributed environment
US6480952B2 (en) Emulation coprocessor
US20030055864A1 (en) System for yielding to a processor
US6865688B2 (en) Logical partition management apparatus and method for handling system reset interrupts

Legal Events

Date Code Title Description
FPAY Fee payment

Year of fee payment: 4

FPAY Fee payment

Year of fee payment: 8