Migrating DMA mappings from a source I/O adapter of a computing system to a destination I/O adapter of the computing system, includes: collecting, by a hypervisor of the computing system, DMA mapping information, where the hypervisor supports operation of a logical partition executing on the computing system and the logical partition is configured for DMA operations with the source I/O adapter utilizing the DMA mapping information; configuring, by the hypervisor, the destination I/O adapter with DMA mappings based on the DMA mapping information collected by the hypervisor; placing, by the hypervisor, the source and destination I/O adapter in an error state; deconfiguring the source I/O adapter from the logical partition; and enabling the logical partition and destination I/O adapter to recover from the error state.
Legal claims defining the scope of protection. Each claim is shown in both the original legal language and a plain English translation.
1. A method of migrating direct memory access (‘DMA’) mappings from a source input/output (‘I/O’) adapter of a computing system to a destination I/O adapter of the computing system, the method comprising: collecting, by a hypervisor of the computing system, DMA mapping information, wherein the hypervisor supports operation of a logical partition executing on the computing system and the logical partition is configured for DMA operations with the source I/O adapter utilizing the DMA mapping information; configuring, by the hypervisor, the destination I/O adapter with DMA mappings based on the DMA mapping information collected by the hypervisor; placing, by the hypervisor, the source and destination I/O adapter in an error state; deconfiguring the source I/O adapter from the logical partition; and enabling the logical partition and destination I/O adapter to recover from the error state.
A system migrates Direct Memory Access (DMA) mappings from a source I/O adapter to a destination I/O adapter. A hypervisor collects DMA mapping information used by a logical partition for DMA operations with the source I/O adapter. The hypervisor configures the destination I/O adapter with these DMA mappings. Both source and destination I/O adapters are placed in an error state by the hypervisor. The source I/O adapter is then deconfigured from the logical partition. Finally, the logical partition and the destination I/O adapter are enabled to recover from the error state, completing the DMA migration.
2. The method of claim 1 further comprising: updating, by the hypervisor, mappings of hypervisor calls from the logical partition to modify DMA address mappings to be directed to the destination I/O adapter.
In addition to the DMA migration process of claim 1, the hypervisor updates mappings of hypervisor calls originating from the logical partition. These updated mappings redirect DMA address modification requests to the destination I/O adapter. This ensures that all subsequent DMA operations from the logical partition are correctly routed to the new I/O adapter after the migration.
3. The method of claim 1 wherein: the source I/O adapter is a PCI express adapter; the DMA mapping information further comprises one or more data structures specifying: a size of a range allocated to the PCIe device for DMA operations; data from a PCIe configuration space including a requester identifier of the PCIe adapter; and logical addresses to physical memory address mappings, wherein each mapping represents a memory page and each mapping includes access permissions for the memory page.
In the DMA migration method of claim 1, the source I/O adapter is a PCI express adapter. The DMA mapping information includes data structures specifying the size of the memory range allocated to the PCIe device for DMA, data from the PCIe configuration space (including the adapter's requester ID), and logical-to-physical memory address mappings. Each mapping represents a memory page and includes the access permissions for that specific memory page. This detailed information is used to accurately configure the destination adapter.
4. The method of claim 3 wherein the PCIe adapter further comprises a single-root I/O virtualization adapter.
Expanding on claim 3, the PCI express adapter is a single-root I/O virtualization (SR-IOV) adapter. This means the adapter supports multiple virtual functions, allowing multiple logical partitions to share the physical adapter resources. The DMA migration process correctly handles the SR-IOV configuration, ensuring that each virtual function's DMA mappings are migrated appropriately.
5. The method of claim 1 further comprising, prior to recovering from the error state and during the configuration the destination I/O adapter with DMA mappings based on the DMA mapping information collected by the hypervisor, mirroring modifications to the DMA mapping information of the source I/O adapter to the DMA mappings of the destination I/O adapter.
As part of the DMA migration of claim 1, modifications made to the DMA mapping information of the source I/O adapter are mirrored to the DMA mappings of the destination I/O adapter. This mirroring occurs before recovering from the error state and during the configuration of the destination I/O adapter. This ensures data consistency and prevents data corruption during the transition.
6. The method of claim 1 wherein a management console is coupled to the computing system and the method further comprises: administering the migration of the DMA mappings from the source I/O adapter to the destination I/O adapter.
The DMA migration process of claim 1 includes a management console connected to the computing system. An administrator uses the management console to manage and control the migration of the DMA mappings from the source to the destination I/O adapter. This allows for centralized control and monitoring of the migration process.
7. The method of claim 1 further comprising: detecting, by the logical partition, the error state; and preventing, by the hypervisor, the logical partition from recovering from the error state until the source I/O adapter is deconfigured from the logical partition.
During the DMA migration described in claim 1, the logical partition detects that the source and destination I/O adapters have been placed into an error state. The hypervisor prevents the logical partition from automatically recovering from this error state. The hypervisor only allows the partition to recover *after* the source I/O adapter has been completely deconfigured from the logical partition. This prevents the partition from attempting to use the old adapter before the migration is complete.
8. An apparatus for migrating direct memory access (‘DMA’) mappings from a source input/output (‘I/O’) adapter of a computing system to a destination I/O adapter of the computing system, the apparatus comprising a computer processor, a computer memory operatively coupled to the computer processor, the computer memory having disposed within it computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the steps of: collecting, by a hypervisor of the computing system, DMA mapping information, wherein the hypervisor supports operation of a logical partition executing on the computing system and the logical partition is configured for DMA operations with the source I/O adapter utilizing the DMA mapping information; configuring, by the hypervisor, the destination I/O adapter with DMA mappings based on the DMA mapping information collected by the hypervisor; placing, by the hypervisor, the source and destination I/O adapter in an error state; deconfiguring the source I/O adapter from the logical partition; and enabling the logical partition and destination I/O adapter to recover from the error state.
An apparatus migrates Direct Memory Access (DMA) mappings from a source I/O adapter to a destination I/O adapter. The apparatus includes a computer processor and memory. The memory stores instructions that, when executed, cause the apparatus to: collect DMA mapping information used by a logical partition for DMA operations with the source I/O adapter; configure the destination I/O adapter with these DMA mappings; place both I/O adapters in an error state; deconfigure the source I/O adapter from the logical partition; and enable the partition and the destination adapter to recover from the error state.
9. The apparatus of claim 8 further comprising computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the step of: updating, by the hypervisor, mappings of hypervisor calls from the logical partition to modify DMA address mappings to be directed to the destination I/O adapter.
In addition to the DMA migration apparatus of claim 8, the apparatus executes instructions that update mappings of hypervisor calls originating from the logical partition. These mappings redirect DMA address modification requests to the destination I/O adapter. This ensures the apparatus correctly routes all future DMA operations to the new I/O adapter after migration.
10. The apparatus of claim 8 wherein: the source I/O adapter is a PCI express adapter; the DMA mapping information further comprises one or more data structures specifying: a size of a range allocated to the PCIe device for DMA operations; data from a PCIe configuration space including a requester identifier of the PCIe adapter; and logical addresses to physical memory address mappings, wherein each mapping represents a memory page and each mapping includes access permissions for the memory page.
In the DMA migration apparatus of claim 8, the source I/O adapter is a PCI express adapter. The DMA mapping information includes data structures specifying the size of the memory range allocated to the PCIe device for DMA, data from the PCIe configuration space (including the adapter's requester ID), and logical-to-physical memory address mappings. Each mapping includes the access permissions for the corresponding memory page.
11. The apparatus of claim 10 wherein the PCIe adapter further comprises a single-root I/O virtualization adapter.
Expanding on the DMA migration apparatus of claim 10, the PCI express adapter is a single-root I/O virtualization (SR-IOV) adapter. This means the adapter supports multiple virtual functions, allowing multiple logical partitions to share the physical adapter resources. The apparatus correctly handles the SR-IOV configuration, ensuring that each virtual function's DMA mappings are migrated appropriately.
12. The apparatus of claim 8 further comprising computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the step of: prior to recovering from the error state and during the configuration the destination I/O adapter with DMA mappings based on the DMA mapping information collected by the hypervisor, mirroring modifications to the DMA mapping information of the source I/O adapter to the DMA mappings of the destination I/O adapter.
As part of the DMA migration apparatus of claim 8, the apparatus executes instructions to mirror modifications made to the DMA mapping information of the source I/O adapter to the DMA mappings of the destination I/O adapter. This mirroring occurs before recovering from the error state and during the configuration of the destination adapter, ensuring data consistency.
13. The apparatus of claim 8 wherein a management console is coupled to the computing system and the apparatus further comprises computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the step of: administering the migration of the DMA mappings from the source I/O adapter to the destination I/O adapter.
The DMA migration apparatus of claim 8 includes a management console connected to the computing system. The apparatus executes instructions that allow an administrator to use the console to manage the migration of DMA mappings from the source to the destination I/O adapter.
14. A computer program product for migrating direct memory access (‘DMA’) mappings from a source input/output (‘I/O’) adapter of a computing system to a destination I/O adapter of the computing system, the computer program product disposed upon a computer readable storage medium, the computer program product comprising computer program instructions that, when executed, cause a computer to carry out the steps of: collecting, by a hypervisor of the computing system, DMA mapping information, wherein the hypervisor supports operation of a logical partition executing on the computing system and the logical partition is configured for DMA operations with the source I/O adapter utilizing the DMA mapping information; configuring, by the hypervisor, the destination I/O adapter with DMA mappings based on the DMA mapping information collected by the hypervisor; placing, by the hypervisor, the source and destination I/O adapter in an error state; deconfiguring the source I/O adapter from the logical partition; and enabling the logical partition and destination I/O adapter to recover from the error state.
A computer program product for migrating Direct Memory Access (DMA) mappings includes instructions on a computer-readable storage medium. When executed, these instructions cause a computer to: collect DMA mapping information used by a logical partition for DMA operations with the source I/O adapter; configure the destination I/O adapter with these DMA mappings; place both I/O adapters in an error state; deconfigure the source adapter from the logical partition; and enable the partition and the destination adapter to recover from the error state.
15. The computer program product of claim 14 further comprising computer program instructions that, when executed, cause the computer to carry out the step of: updating, by the hypervisor, mappings of hypervisor calls from the logical partition to modify DMA address mappings to be directed to the destination I/O adapter.
The computer program product of claim 14 also includes instructions that update mappings of hypervisor calls originating from the logical partition. These mappings redirect DMA address modification requests to the destination I/O adapter, ensuring future DMA operations are correctly routed after migration.
16. The computer program product of claim 14 wherein: the source I/O adapter is a PCI express adapter; the DMA mapping information further comprises one or more data structures specifying: a size of a range allocated to the PCIe device for DMA operations; data from a PCIe configuration space including a requester identifier of the PCIe adapter; and logical addresses to physical memory address mappings, wherein each mapping represents a memory page and each mapping includes access permissions for the memory page.
In the computer program product of claim 14, the source I/O adapter is a PCI express adapter. The DMA mapping information includes data structures specifying the size of the memory range allocated to the PCIe device, data from the PCIe configuration space (including the adapter's requester ID), and logical-to-physical memory address mappings, including access permissions for each memory page.
17. The computer program product of claim 16 wherein the PCIe adapter further comprises a single-root I/O virtualization adapter.
Expanding on the computer program product of claim 16, the PCI express adapter is a single-root I/O virtualization (SR-IOV) adapter, supporting multiple virtual functions for shared adapter resources. The computer program product correctly handles the SR-IOV configuration, ensuring correct DMA migration for each virtual function.
18. The computer program product of claim 14 further comprising computer program instructions that, when executed, cause the computer to carry out the step of: prior to recovering from the error state and during the configuration the destination I/O adapter with DMA mappings based on the DMA mapping information collected by the hypervisor, mirroring modifications to the DMA mapping information of the source I/O adapter to the DMA mappings of the destination I/O adapter.
As part of the computer program product of claim 14, the product includes instructions to mirror modifications made to the DMA mapping information of the source I/O adapter to the destination adapter's DMA mappings. This mirroring happens before recovery from the error state and while configuring the destination adapter to ensure data consistency.
19. The computer program product of claim 14 wherein a management console is coupled to the computing system and the apparatus further computer program instructions that, when executed, cause the computer to carry out the step of: administering the migration of the DMA mappings from the source I/O adapter to the destination I/O adapter.
The computer program product of claim 14 is used in a system with a management console. The product includes instructions that allow an administrator to manage the DMA mapping migration from the source to the destination I/O adapter using the console.
20. The computer program product of claim 14 further comprising computer program instructions that, when executed, cause the computer to carry out the step of: detecting, by the logical partition, the error state; and preventing, by the hypervisor, the logical partition from recovering from the error state until the source I/O adapter is deconfigured from the logical partition.
The computer program product of claim 14 also includes instructions to: Detect, by the logical partition, the error state of the adapters. Prevent, by the hypervisor, the logical partition from recovering from the error state until the source I/O adapter is deconfigured. This ensures that the migration is fully complete before the partition attempts to resume operation.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
October 21, 2016
August 22, 2017
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.