Event Driven Remote Direct Memory Access Snapshots
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.
16 Citations
25 Claims
-
1-10. -10. (canceled)
-
11. 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 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, storing the snapshot comprises, performing a lookup operation in a mapping data structure of cross memory map information corresponding to the resource identifier, 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, and the error event notification comprises a resource identifier of a resource associated with an error event detected by the IO adapter. - View Dependent Claims (12, 16, 17, 18, 19)
-
-
13-15. -15. (canceled)
-
20. 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 the Input/Output (IO) adapter an error event notification; store, in response to the error event notification, a snapshot of a RDMA resource associated with the error event notification in a kernelspace flight recorder data structure associated with a kernelspace resident IO adapter device driver; 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, the processor is configured to store the snapshot at least by performing a lookup operation in a mapping data structure of cross memory map information corresponding to the resource identifier, 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, and the error event notification comprises a resource identifier of a resource associated with an error event detected by the IO adapter. - View Dependent Claims (21, 22, 23, 24, 25)
-
Specification