EVENT DRIVEN REMOTE DIRECT MEMORY ACCESS SNAPSHOTS
First Claim
1. A method, in a data processing system, for generating a snapshot of a remote direct memory access (RDMA) resource, the method comprising:
- receiving, by the data processing system, from an Input/Output (IO) adapter associated with the data processing system, an error event notification;
storing, by the data processing system, in response to the error event notification, a snapshot of a RDMA resource associated with the error event notification;
tearing down, by the data processing system, the RDMA resource in response to the error event notification; and
freeing, by the data processing system, memory associated with the RDMA resource in response to tearing down the RDMA resource, wherein the snapshot stores contents of the RDMA resource, wherein the snapshot is stored in kernelspace in a flight recorder data structure of an IO adapter device driver corresponding to the IO adapter, and wherein storing the snapshot comprises performing invoking a cross memory map (xmap) service of a kernel to perform a cross memory read of the userspace RDMA resource and performing a write of the contents of the userspace RDMA resource into an entry in the flight recorder data structure.
1 Assignment
0 Petitions
Accused Products
Abstract
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.
-
Citations
32 Claims
-
1. A method, in a data processing system, for generating a snapshot of a remote direct memory access (RDMA) resource, the method comprising:
-
receiving, by the data processing system, from an Input/Output (IO) adapter associated with the data processing system, an error event notification; storing, by the data processing system, in response to the error event notification, a snapshot of a RDMA resource associated with the error event notification; tearing down, by the data processing system, the RDMA resource in response to the error event notification; and freeing, by the data processing system, memory associated with the RDMA resource in response to tearing down the RDMA resource, wherein the snapshot stores contents of the RDMA resource, wherein the snapshot is stored in kernelspace in a flight recorder data structure of an IO adapter device driver corresponding to the IO adapter, and wherein storing the snapshot comprises performing invoking a cross memory map (xmap) service of a kernel to perform a cross memory read of the userspace RDMA resource and performing a write of the contents of the userspace RDMA resource into an entry in the flight recorder data structure. - View Dependent Claims (2, 3, 6, 7, 8, 9, 10)
-
-
4-5. -5. (canceled)
-
11-20. -20. (canceled)
-
21. A computer program product comprising a non-transitory computer readable medium having a computer readable program stored therein, wherein the computer readable program, when executed on a data processing system, causes the data processing system to:
-
receive, by the data processing system, from an Input/Output (IO) adapter associated with the data processing system, an error event notification; store, by the data processing system, in response to the error event notification, a snapshot of a RDMA resource associated with the error event notification; tear down, by the data processing system, the RDMA resource in response to the error event notification; and free, by the data processing system, memory associated with the RDMA resource in response to tearing down the RDMA resource, wherein the snapshot stores contents of the RDMA resource, wherein the snapshot is stored in kernelspace in a flight recorder data structure of an IO adapter device driver corresponding to the IO adapter, and wherein storing the snapshot comprises invoking a cross memory map (xmap) service of a kernel to perform a cross memory read of the userspace RDMA resource and performing a write of the contents of the userspace RDMA resource into an entry in the flight recorder data structure. - View Dependent Claims (22, 23, 24, 25, 26)
-
-
27. A data processing system, comprising:
-
a processor executing a kernel in a kernelspace and an application in a userspace; and an Input/Output adapter coupled to the processor, wherein the processor is configured to; receive, from an Input/Output (IO) adapter associated with the data processing system, an error event notification; store, in response to the error event notification, a snapshot of a RDMA resource associated with the error event notification; tear down the RDMA resource in response to the error event notification; and free memory associated with the RDMA resource in response to tearing down the RDMA resource, wherein the snapshot stores contents of the RDMA resource, wherein the snapshot is stored in kernelspace in a flight recorder data structure of an IO adapter device driver corresponding to the IO adapter, and wherein storing the snapshot comprises invoking a cross memory map (xmap) service of a kernel to perform a cross memory read of the userspace RDMA resource and performing a write of the contents of the userspace RDMA resource into an entry in the flight recorder data structure. - View Dependent Claims (28, 29, 30, 31, 32)
-
Specification