Patent application number | Description | Published |
20100153974 | OBTAIN BUFFERS FOR AN INPUT/OUTPUT DRIVER - Disclosed is a computer implemented method, computer program product, and apparatus to obtain buffers in a multiprocessor system. A software component receives a call from an I/O device driver for a buffer, the call including at least one parameter, and walks a bucket data structure to a current bucket. The software component then determines whether the current bucket is free, and obtains a buffer list contained with the current bucket. Responsive to a determination that the current bucket is free, the software component determines whether sufficient buffers are obtained based on the parameter. Upon determining there are sufficient buffers obtained, the software component provides the current bucket and a second bucket as a single buffer list to the I/O device driver. | 06-17-2010 |
20100223419 | COPY CIRCUMVENTION IN A VIRTUAL NETWORK ENVIRONMENT - A method, system, and computer program product for circumventing data copy operations in a virtual network environment. The method includes copying a data packet from a user space to a first kernel space of a first logical partition (LPAR). Using a hypervisor, a mapped address of a receiving virtual Ethernet driver in a second LPAR is requested. The first mapped address is associated with a buffer of the receiving virtual Ethernet driver. The data packet is copied directly from the first kernel space of the first LPAR to a destination in a second kernel space of the second LPAR. The destination is determined utilizing the mapped address. The direct copying to the destination bypasses (i) a data packet copy operation from the first kernel space to a transmitting virtual Ethernet driver of the first LPAR, and (ii) a data packet copy operation via the hypervisor. The receiving virtual Ethernet driver is notified that the data packet has been successfully copied to the destination in the second LPAR. | 09-02-2010 |
20100251268 | SERIALIZED ACCESS TO AN I/O ADAPTER THROUGH ATOMIC OPERATION - Disclosed is a computer implemented method, computer program product, and apparatus to enqueue one or more packets in a device driver for an I/O adapter. A device driver receives, by a processor executing the device driver, a reference to a list of transmit packets. The device driver may then atomically fetch and set a transmit active flag, wherein atomically setting comprises determining a former status of the transmit active flag. Responsive to a determination that a former status of the transmit active flag is different than a current status of the transmit active flag, the device driver atomically removes, by a processor executing the device driver, any packets referenced by a host machine transmit queue reference. The device driver pre-pends transmit packets referenced by the host machine transmit queue reference to the list of transmit packets to form an augmented list of transmit packets. The device driver builds a work request based on the augmented list of transmit packets. The device driver notifies the I/O adapter of the work request. The device driver atomically resets the transmit active flag. | 09-30-2010 |
20100296518 | Single DMA Transfers from Device Drivers to Network Adapters - Methods and arrangements of data communications are discussed. Embodiments include transformations, code, state machines or other logic to provide data communications. An embodiment may involve receiving from a protocol stack a request for a buffer to hold data. The data may consist of all or part of a payload of a packet. The embodiment may also involve allocating space in a buffer for the data and for a header of a packet. The protocol stack may store the data in a portion of the buffer and hand down the buffer to a network device driver. The embodiment may also involve the network device driver transferring the entire packet from the buffer to a communications adapter in a single direct memory access (DMA) operation. | 11-25-2010 |
20110096659 | Zero Packet Loss Energy Efficient Ethernet Link Transition Via Driver Fast Failover - A mechanism for zero packet loss with energy efficient Ethernet link transition via driver fast failover is provided. By default, the mechanism uses a primary adapter running at low speed with low energy usage and a secondary adapter that is disabled. This default configuration is used during periods of low link utilization. When system or input/output load is such that high speed is required, then the mechanism enables the secondary adapter to its highest supported link speed. All transmit traffic in progress running over the primary adapter will complete, and upon completion, the driver generates an address resolution request and sends the request over the secondary adapter. After this process completes, the primary adapter transitions to link down and zero packet loss transition completes. | 04-28-2011 |
20110265095 | Resource Affinity via Dynamic Reconfiguration for Multi-Queue Network Adapters - A mechanism is provided for providing resource affinity for multi-queue network adapters via dynamic reconfiguration. A device driver allocates an initial queue pair within a memory. The device driver determines whether workload of the data processing system has risen above a predetermined high threshold. Responsive to the workload rising above the predetermined high threshold, the device driver allocates and initializes an additional queue pair in the memory. The device driver programs a receive side scaling (RSS) mechanism in a network adapter to allow for dynamic insertion of an additional processing engine associated with the additional queue pair. The device driver enables transmit tuple hashing to the additional queue pair. | 10-27-2011 |
20110271008 | Selective TCP Large Receive Aggregation Based On IP Destination Address - An information handling device receives a packet and determines a packet destination for the packet. In turn, the information handling device either aggregates the packet in response to determining that the packet destination is a local destination, or forwards the packet in response to determining that the packet destination is a non-local destination. | 11-03-2011 |
20120102217 | Multi-Adapter Link Aggregation for Adapters with Hardware Based Virtual Bridges - Mechanisms for providing a network adapter and functionality for performing link aggregation within a network adapter are provided. With these mechanisms, a network adapter is provided that includes a plurality of physical network ports for coupling to one or more switches of a data network and a link aggregation module, within the network adapter, and coupled to the plurality of physical network ports. The link aggregation module comprises logic for aggregating links associated with the plurality of physical network ports into a single virtual link. The link aggregation module interfaces with a virtual Ethernet bridge (VEB) of the network adapter to send data to the VEB and receive data from the VEB. | 04-26-2012 |
20120201253 | Multi-Adapter Link Aggregation for Adapters with Hardware Based Virtual Bridges - Mechanisms for providing a network adapter and functionality for performing link aggregation within a network adapter are provided. With these mechanisms, a network adapter is provided that includes a plurality of physical network ports for coupling to one or more switches of a data network and a link aggregation module, within the network adapter, and coupled to the plurality of physical network ports. The link aggregation module comprises logic for aggregating links associated with the plurality of physical network ports into a single virtual link. The link aggregation module interfaces with a virtual Ethernet bridge (VEB) of the network adapter to send data to the VEB and receive data from the VEB. | 08-09-2012 |
20120210337 | Resource Affinity Via Dynamic Reconfiguration for Multi-Queue Network Adapters - A mechanism is provided for providing resource affinity for multi-queue network adapters via dynamic reconfiguration. A device driver allocates an initial queue pair within a memory. The device driver determines whether workload of the data processing system has risen above a predetermined high threshold. Responsive to the workload rising above the predetermined high threshold, the device driver allocates and initializes an additional queue pair in the memory. The device driver programs a receive side scaling (RSS) mechanism in a network adapter to allow for dynamic insertion of an additional processing engine associated with the additional queue pair. The device driver enables transmit tuple hashing to the additional queue pair. | 08-16-2012 |
20120331172 | Method And System For Improved Performance Of Network Communications With Interface Specific Buffers - Network adapter use of an interface specific buffer is managed so that their combined use with non-interface specific buffers has a reduced impact, such as when an interface specific buffer becomes full. If an attempt fails by a protocol stack of an operating system to buffer information for a packet in an interface specific buffer, an offset marks the end of the use of the interface specific buffer for the packet and a non-interface specific buffer is used to store the remaining information for the packet. During transmission of the packet, the offset is read by a network adapter driver to take advantage of reduced processing for sending information from the interface specific buffer and to identify information that need additional processing for transmission from the non-interface specific buffer. | 12-27-2012 |
20130003976 | TECHNIQUES FOR ACCESSING FEATURES OF A HARDWARE ADAPTER - A technique for accessing features of a hardware adapter includes reading a first key from a hardware adapter and attempting to decrypt the first key with a second key. In response to the second key successfully decrypting the first key: encrypted code from the hardware adapter is read; the encrypted code is decrypted with the decrypted first key to generate unencrypted code; and a default code in an executable flash sector of the hardware adapter is over-written with the unencrypted code. In this case, the unencrypted code facilitates access to at least one feature of the hardware adapter that is customer specific. In response to the second key not successfully decrypting the first key, the default code in the executable flash sector of the hardware adapter is not over-written. In this case, the default code facilitates access to one or more features that are not customer specific. | 01-03-2013 |
20130033993 | Distributed Overlay Network Data Traffic Management by a Virtual Server - An approach is provided in which a data traffic module executing on a network interface card receives a data packet initiated by a first virtual machine with a destination at a second virtual machine. The data traffic module identifies one or more physical path translations corresponding to a logical connectivity that is independent of physical topology constraints of a physical network. In turn, the data traffic module encapsulates the data packet with the one or more physical path translations and sends the encapsulated data packet to the second virtual machine over the physical network. | 02-07-2013 |
20130034094 | Virtual Switch Data Control In A Distributed Overlay Network - An approach is provided in which a hypervisor provisions switch resources on a network interface card, which includes a virtual switch and a physical port. The hypervisor invokes a switch control module on a virtual machine, which provides control information to one or more of the switch resources. In turn, one or more of the switch resources utilize the control information to direct data packets between a source virtual machine and a destination virtual machine over one or more virtual networks that are independent of physical topology constraints of a physical network. | 02-07-2013 |
20130034109 | Distributed Overlay Network Data Traffic Management by a Virtual Server - An approach is provided in which a data traffic module executing on a network interface card receives a data packet initiated by a first virtual machine with a destination at a second virtual machine. The data traffic module identifies one or more physical path translations corresponding to a logical connectivity that is independent of physical topology constraints of a physical network. In turn, the data traffic module encapsulates the data packet with the one or more physical path translations and sends the encapsulated data packet to the second virtual machine over the physical network. | 02-07-2013 |
20130042086 | Dynamic Network Adapter Memory Resizing and Bounding for Virtual Function Translation Entry Storage - An approach is provided which a system selects a first virtual function from a plurality of virtual functions executing on a network adapter that includes a memory area. Next, the system allocates, in the memory area, a memory corresponding to the first virtual function. The system then stores one or more translation entries in the allocated memory partition, which are utilized to send data traversing through the first virtual function. As such, the system sends, utilizing one or more of the translation entries, the data packets from the network adapter to one or more destinations. In turn, the system dynamically resizes the memory partition based upon an amount of the memory partition that is utilized to store the one or more translation entries. | 02-14-2013 |
20130042237 | Dynamic Network Adapter Memory Resizing and Bounding for Virtual Function Translation Entry Storage - An approach is provided which a system selects a first virtual function from a plurality of virtual functions executing on a network adapter that includes a memory area. Next, the system allocates, in the memory area, a memory corresponding to the first virtual function. The system then stores one or more translation entries in the allocated memory partition, which are utilized to send data traversing through the first virtual function. As such, the system sends, utilizing one or more of the translation entries, the data packets from the network adapter to one or more destinations. In turn, the system dynamically resizes the memory partition based upon an amount of the memory partition that is utilized to store the one or more translation entries. | 02-14-2013 |
20130042238 | Optimized Virtual Function Translation Entry Memory Caching - An approach is provided in which a virtual function, which executes on a network adapter, receives a data packet from a first virtual machine. A translation entry is identified that corresponds to sending the data packet from the first virtual machine to a second virtual machine, and a determination is made as to whether an onboard memory partition assigned to the virtual function includes the identified translation. If the onboard memory location includes the translation entry, the data packet is sent to the destination virtual machine using the translation entry retrieved from the onboard memory partition. Otherwise, if the translation entry is not located in the onboard memory partition, the data packet is sent to the destination virtual machine using a translation entry retrieved from an off board memory location. | 02-14-2013 |
20130042240 | Optimized Virtual Function Translation Entry Memory Caching - An approach is provided in which a virtual function, which executes on a network adapter, receives a data packet from a first virtual machine. A translation entry is identified that corresponds to sending the data packet from the first virtual machine to a second virtual machine, and a determination is made as to whether an onboard memory partition assigned to the virtual function includes the identified translation. If the onboard memory location includes the translation entry, the data packet is sent to the destination virtual machine using the translation entry retrieved from the onboard memory partition. Otherwise, if the translation entry is not located in the onboard memory partition, the data packet is sent to the destination virtual machine using a translation entry retrieved from an off board memory location. | 02-14-2013 |
20130083690 | Network Adapter Hardware State Migration Discovery in a Stateful Environment - An approach is provided in which a discovery system receives a migration request to move a virtual machine that executes on a first system. The discovery system identifies a first network adapter corresponding to the first system, and identifies hardware state data used by the first network adapter to process data packets generated by the virtual machine. In turn, the discovery system identifies a second network adapter that is compatible with a native format of the hardware state data, and migrates the virtual machine to a second system corresponding to the identified second network adapter. | 04-04-2013 |
20130086200 | Live Logical Partition Migration with Stateful Offload Connections Using Context Extraction and Insertion - An approach is provided in which a migration agent receives a message to migrate a virtual machine from a first system to a second system. The first system extracts hardware state data stored in a native format from a memory area located on first system's network adapter. The hardware state data is utilized by the first system's network adapter to process data packets generated by the virtual machine. Next, the virtual machine is migrated to the second system, which includes copying the extracted hardware state data from the first system to the second system. In turn, the second system configures a corresponding second network adapter by writing the copied hardware state data to a memory located on the second network adapter. | 04-04-2013 |
20130086298 | Live Logical Partition Migration with Stateful Offload Connections Using Context Extraction and Insertion - An approach is provided in which a migration agent receives a message to migrate a virtual machine from a first system to a second system. The first system extracts hardware state data stored in a native format from a memory area located on first system's network adapter. The hardware state data is utilized by the first system's network adapter to process data packets generated by the virtual machine. Next, the virtual machine is migrated to the second system, which includes copying the extracted hardware state data from the first system to the second system. In turn, the second system configures a corresponding second network adapter by writing the copied hardware state data to a memory located on the second network adapter. | 04-04-2013 |
20130086582 | Network Adapter Hardware State Migration Discovery in a Stateful Environment - An approach is provided in which a discovery system receives a migration request to move a virtual machine that executes on a first system. The discovery system identifies a first network adapter corresponding to the first system, and identifies hardware state data used by the first network adapter to process data packets generated by the virtual machine. In turn, the discovery system identifies a second network adapter that is compatible with a native format of the hardware state data, and migrates the virtual machine to a second system corresponding to the identified second network adapter. | 04-04-2013 |
20130097600 | Global Queue Pair Management in a Point-to-Point Computer Network - An approach is provided in which a local module receives a data frame initiated by a first virtual machine and has a target destination at a second virtual machine, which executes on a destination host system. The local module identifies a destination local port ID and a destination global queue pair number corresponding to the second virtual machine. In one embodiment, the destination local port ID corresponds to the destination host, but the destination global queue pair number is independent of the destination host. The local module includes the destination global queue pair number and the destination local port ID in an overlay header and encapsulates the data frame with the overlay header, which results in an encapsulated frame. In turn, the local module sends the encapsulated frame through a computer network to the second virtual machine. | 04-18-2013 |
20130152075 | Acceleration for Virtual Bridged Hosts - An approach is provided in which a hardware accelerated bridge executing on a network adapter receives an ingress data packet. The data packet includes a destination MAC address that corresponds to a virtual machine, which interfaces to a software bridge executing on a hypervisor. The hardware accelerated bridge identifies a software bridge table entry that includes the destination MAC address and a virtual function identifier, which identifies a virtual function corresponding to the software bridge. In turn, the hardware accelerated bridge sends the data packet from the hardware accelerated bridge to the software bridge through the identified virtual function. | 06-13-2013 |
20130179505 | MANAGING MESSAGE TRANSMISSION AND RECEPTION - Various systems, processes, and products may be used to manage the transmission and reception of messages. In particular implementations, a system, process, and product for managing message transmission and reception may include the ability to receive a plurality of messages to be transmitted over a communication network, wherein some of the messages have a higher priority and some of the messages have a lower priority, and enqueue descriptors for the messages in a direct memory access queue. The system, process, and product may also include the ability to determine whether an overrun of the queue has occurred, analyze the queue if an overrun has occurred to determine if lower priority messages are associated with any of the descriptors in the queue, and replace, if descriptors for lower priority messages are in the queue, the descriptors for the lower priority messages with descriptors for higher priority messages. | 07-11-2013 |
20130179732 | Debugging of Adapters with Stateful Offload Connections - An approach is provided in which a network hardware adapter stores offload information in a shared memory area that is located on a host system. The offload information includes connection information that was offloaded to the network hardware adapter by an application executing on the host system. An operating system (e.g., a network device driver) detects a network adapter error corresponding to the network hardware adapter and, in turn, retrieves the offload information stored in the shared memory area. As such, an analysis application utilizes the retrieved offload information to debug the network adapter error. | 07-11-2013 |
20130204933 | MULTICAST MESSAGE FILTERING IN VIRTUAL ENVIRONMENTS - Various systems, processes, and products may be used to filter multicast messages in virtual environments. In particular implementations, a system, process, and product for filtering multicast messages in virtual environments may include the ability to determine whether a multicast message has been received, examine a local filtering store for a match for the destination address of the multicast message, and send the message to a number of virtual machines if a match for the address is found. The system, process, and product may also include the ability to analyze a filtering store of at least one of the virtual machines for a match for the address if a match is not found in the local filtering store and send the message to a number of the virtual machines if a match for the address is found in a filtering store of one of the virtual machines. | 08-08-2013 |
20130205296 | MULTICAST MESSAGE FILTERING IN VIRTUAL ENVIRONMENTS - Various systems, processes, and products may be used to filter multicast messages in virtual environments. In particular implementations, a system, process, and product for filtering multicast messages in virtual environments may include the ability to determine whether a multicast message has been received, examine a local filtering store for a match for the destination address of the multicast message, and send the message to a number of virtual machines if a match for the address is found. The system, process, and product may also include the ability to analyze a filtering store of at least one of the virtual machines for a match for the address if a match is not found in the local filtering store and send the message to a number of the virtual machines if a match for the address is found in a filtering store of one of the virtual machines. | 08-08-2013 |
20140019571 | PROCESSING DATA PACKETS FROM A RECEIVE QUEUE IN A REMOTE DIRECT MEMORY ACCESS DEVICE - Processing data packets from a receive queue is provided. It is determined whether packets are saved in a pre-fetched queue. In response to determining that packets are not saved in the pre-fetched queue, a number of packets within the receive queue is determined. In response to determining the number of packets within the receive queue, it is determined whether the number of packets within the receive queue is greater than a number of packets called for by an application. In response to determining that the number of packets within the receive queue is greater than the number of packets called for by the application, an excess number of packets that is above the number of packets called for by the application is saved in the pre-fetched queue. An indication is sent to the application of the excess number of packets. The predetermined number of packets is transferred to the application. | 01-16-2014 |
20140019572 | Remote Direct Memory Access Socket Aggregation - Byte utilization is improved in Remote Direct Memory Access (RDMA) communications by detecting a plurality of concurrent messages on a plurality of application sockets which are destined for the same application, client or computer, intercepting those messages and consolidating their payloads into larger payloads, and then transmitting those consolidated messages to the destination, thereby increasing the payload-to-overhead byte utilization of the RDMA transmissions. At the receiving end, multiplexing information is used to unpack the consolidated messages, and to put the original payloads into a plurality of messages which are then fed into the receiving sockets to the destination application, client or computer, thereby making the consolidation process transparent between the initiator and the target. | 01-16-2014 |
20140019574 | Remote Direct Memory Access Socket Aggregation - Byte utilization is improved in Remote Direct Memory Access (RDMA) communications by detecting a plurality of concurrent messages on a plurality of application sockets which are destined for the same application, client or computer, intercepting those messages and consolidating their payloads into larger payloads, and then transmitting those consolidated messages to the destination, thereby increasing the payload-to-overhead byte utilization of the RDMA transmissions. At the receiving end, multiplexing information is used to unpack the consolidated messages, and to put the original payloads into a plurality of messages which are then fed into the receiving sockets to the destination application, client or computer, thereby making the consolidation process transparent between the initiator and the target. | 01-16-2014 |
20140019808 | Debugging of Adapters with Stateful Offload Connections - An approach is provided in which a network hardware adapter stores offload information in a shared memory area that is located on a host system. The offload information includes connection information that was offloaded to the network hardware adapter by an application executing on the host system. An operating system (e.g., a network device driver) detects a network adapter error corresponding to the network hardware adapter and, in turn, retrieves the offload information stored in the shared memory area. As such, an analysis application utilizes the retrieved offload information to debug the network adapter error. | 01-16-2014 |
20140082119 | PROCESSING DATA PACKETS FROM A RECEIVE QUEUE IN A REMOTE DIRECT MEMORY ACCESS DEVICE - Processing data packets from a receive queue is provided. It is determined whether packets are saved in a pre-fetched queue. In response to determining that packets are not saved in the pre-fetched queue, a number of packets within the receive queue is determined. In response to determining the number of packets within the receive queue, it is determined whether the number of packets within the receive queue is greater than a number of packets called for by an application. In response to determining that the number of packets within the receive queue is greater than the number of packets called for by the application, an excess number of packets that is above the number of packets called for by the application is saved in the pre-fetched queue. An indication is sent to the application of the excess number of packets. The predetermined number of packets is transferred to the application. | 03-20-2014 |
20140157265 | DATA FLOW AFFINITY FOR HETEROGENOUS VIRTUAL MACHINES - According to one aspect of the present disclosure a system and technique for data flow affinity for heterogeneous virtual machines includes a hypervisor operable to manage a virtualized environment comprising first and second logical partitions, the first logical partition having a maximum receive unit (MRU) different than a MRU of the second logical partition. The system also includes a virtual input/output server (VIOS) having a shared virtual adapter connected to the first and second logical partitions. The shared virtual adapter is configured to, responsive to receiving data destined for the first or second logical partitions, perform transmission control protocol (TCP) segmentation offload processing of the data utilizing the MRU of the first logical partition as the transmission unit for data destined for the first logical partition and utilizing the MRU of the second logical partition as the transmission unit for data destined for the second logical partition. | 06-05-2014 |
20140157267 | DATA FLOW AFFINITY FOR HETEROGENOUS VIRTUAL MACHINES - According to one aspect of the present disclosure, a method and technique for data flow affinity for heterogeneous virtual machines is disclosed. The method includes: connecting first and second logical partitions to a shared virtual adapter, the first logical partition having a maximum receive unit (MRU) different than a MRU of the second logical partition; and responsive to receiving data by the shared virtual adapter destined for the first or second logical partitions, performing transmission control protocol (TCP) segmentation offload processing of the data by the shared virtual adapter utilizing the MRU of the first logical partition as the transmission unit for data destined for the first logical partition and utilizing the MRU of the second logical partition as the transmission unit for data destined for the second logical partition. | 06-05-2014 |
20140269282 | DYNAMIC RECONFIGURATION OF NETWORK DEVICES FOR OUTAGE PREDICTION - According to one aspect of the present disclosure, a method and technique for dynamic reconfiguration of network devices for outage prediction is disclosed. The method includes: aggregating a plurality of network devices to form an input/output (I/O) link bundle; identifying a quality of service level of data throughput needed by at least one workload utilizing the I/O link bundle; monitoring a parameter of each of the network devices of the I/O link bundle; determining whether the monitored parameter indicates a predicted data throughout quality of service level decrease by a network device being utilized by the workload below the quality of service level for the workload; and responsive to determining that the monitored parameter indicates a predicted quality of service level decrease by the respective network device, dynamically reconfiguring the link bundle to maintain the quality of service level for the workload utilizing the I/O link bundle. | 09-18-2014 |
20140280666 | REMOTE DIRECT MEMORY ACCESS ACCELERATION VIA HARDWARE CONTEXT IN NON-NATIVE APPLCIATIONS - Provided are techniques generating a data structure, wherein the data structure specifies both a specified size of a memory space to allocate within an application and a virtual address within the application to locate a data path transmission queue; including within a verb for allocating the data path transmission queue the defined data structure; in response to a call of the verb, allocate, within the application, the data path transmission queue of the specified size and at the virtual location; in response to a request to transmit control data, employ a remote direct memory access (RDMA) transmission path; and, in response to a request to transmit data, employ the data path transmission queue rather than an RDMA transmission path. | 09-18-2014 |
20140280801 | DYNAMIC RECONFIGURATION OF NETWORK DEVICES FOR OUTAGE PREDICTION - A system and technique for dynamic reconfiguration of network devices for outage prediction is disclosed. The system includes a host and a plurality of network devices aggregated to form a link bundle; and wherein the host comprises a configuration manager operable to: identify a quality of service level of data throughput needed by at least one workload utilizing the link bundle; monitor a parameter of each of the network devices of the link bundle; determine whether the monitored parameter indicates a predicted data throughout quality of service level decrease by a network device being utilized by the workload below the quality of service level for the workload; and responsive to determining that the monitored parameter indicates a predicted quality of service level decrease by the respective network device, dynamically reconfigure the link bundle to maintain the quality of service level for the workload utilizing the link bundle. | 09-18-2014 |
20150088829 | EVENT DRIVEN REMOTE DIRECT MEMORY ACCESS SNAPSHOTS - Mechanisms are provided, in a data processing system, for generating a snapshot of a remote direct memory access (RDMA) resource. The mechanisms receive, from an Input/Output (IO) adapter associated with the data processing system, an error event notification and store, in response to the error event notification, a snapshot of a RDMA resource associated with the error event notification. The mechanisms tear down the RDMA resource in response to the error even notification and free memory associated with the RDMA resource in response to tearing down the RDMA resource. The snapshot stores contents of the RDMA resource. | 03-26-2015 |
20150089011 | Event Driven Remote Direct Memory Access Snapshots - Mechanisms are provided, in a data processing system, for generating a snapshot of a remote direct memory access (RDMA) resource. The mechanisms receive, from an Input/Output (IO) adapter associated with the data processing system, an error event notification and store, in response to the error event notification, a snapshot of a RDMA resource associated with the error event notification. The mechanisms tear down the RDMA resource in response to the error even notification and free memory associated with the RDMA resource in response to tearing down the RDMA resource. The snapshot stores contents of the RDMA resource. | 03-26-2015 |
20150089303 | FAST PATH USERSPACE RDMA RESOURCE ERROR DETECTION - Mechanisms are provided for providing an early warning of an error state of a remote direct memory access (RDMA) resource to a userspace application. The mechanisms detect, using kernelspace logic, an error event having occurred, and perform a write operation to write an error state value to a userspace shared memory state data structure indicating the RDMA resource to be in an error state. The mechanisms detect, using userspace logic, the RDMA resource being in an error state by reading the error state value from the userspace shared memory state data structure in response to a userspace application attempting to perform a RDMA operation using the RDMA resource. In addition, the mechanisms initiate, by the userspace application, an operation to tear down the RDMA resource in response to detecting the RDMA resource being in the error state. | 03-26-2015 |
20150089306 | FAST PATH USERSPACE RDMA RESOURCE ERROR DETECTION - Mechanisms are provided for providing an early warning of an error state of a remote direct memory access (RDMA) resource to a userspace application. The mechanisms detect, using kernelspace logic, an error event having occurred, and perform a write operation to write an error state value to a userspace shared memory state data structure indicating the RDMA resource to be in an error state. The mechanisms detect, using userspace logic, the RDMA resource being in an error state by reading the error state value from the userspace shared memory state data structure in response to a userspace application attempting to perform a RDMA operation using the RDMA resource. In addition, the mechanisms initiate, by the userspace application, an operation to tear down the RDMA resource in response to detecting the RDMA resource being in the error state. | 03-26-2015 |