How to Remove an InfiniBand Virtual Function From an I/O Domain
This procedure describes how to remove an InfiniBand SR-IOV virtual function from an I/O domain.
Example 8-17 Removing an InfiniBand Virtual Function
The following example shows how to remove the /SYS/MB/RISER1/PCIE4/IOVIB.PF0.VF2
virtual function from the iodom1
I/O domain.
First, identify the virtual function that you want to remove.
primary# ldm list-io
NAME TYPE BUS DOMAIN STATUS
---- ---- --- ------ ------
/SYS/PM0/CMP0/PEX BUS pci_0 primary IOV
...
/SYS/MB/RISER1/PCIE4/IOVIB.PF0 PF pci_0 primary
...
/SYS/MB/RISER1/PCIE4/IOVIB.PF0.VF0 VF pci_0
/SYS/MB/RISER1/PCIE4/IOVIB.PF0.VF1 VF pci_0
/SYS/MB/RISER1/PCIE4/IOVIB.PF0.VF2 VF pci_0 iodom1
/SYS/MB/RISER1/PCIE4/IOVIB.PF0.VF3 VF pci_0 iodom1
The DOMAIN column shows the name of the domain to which the virtual function is assigned. The /SYS/MB/RISER1/PCIE4/IOVIB.PF0.VF2
virtual function is assigned to iodom1
.
To remove a virtual function from an I/O domain, the domain must be inactive or bound state. Use the ldm list-domain
command to determine the state of the domain.
primary# ldm list-domain
NAME STATE FLAGS CONS VCPU MEMORY UTIL NORM UPTIME
primary active -n-cv- UART 32 64G 0.3% 0.3% 29m
iodom1 active -n---- 5000 8 8G 17% 17% 11m
In this case, the iodom1
domain is active and so must be stopped.
primary# ldm stop iodom1 LDOM iodom1 stopped primary# ldm list-domain NAME STATE FLAGS CONS VCPU MEMORY UTIL NORM UPTIME primary active -n-cv- UART 32 64G 0.0% 0.0% 31m iodom1 bound ------ 5000 8 8G
Now you can remove the /SYS/MB/RISER1/PCIE4/IOVIB.PF0.VF2
virtual function from iodom1
.
primary# ldm remove-io /SYS/MB/RISER1/PCIE4/IOVIB.PF0.VF2 iodom1 primary# ldm list-io NAME TYPE BUS DOMAIN STATUS ---- ---- --- ------ ------ ... /SYS/MB/RISER1/PCIE4/IOVIB.PF0.VF2 VF pci_0 ...
Note that the DOMAIN column for the virtual function is now empty.
You can remove more than one virtual function while an I/O domain is stopped. In this example, you could also remove the /SYS/MB/RISER1/PCIE4/IOVIB.PF0.VF3
virtual function. After you remove the virtual functions, you can restart the I/O domain.
primary# ldm start-domain iodom1 LDom iodom1 started primary# ldm list-domain NAME STATE FLAGS CONS VCPU MEMORY UTIL NORM UPTIME primary active -n-cv- UART 32 64G 0.3% 0.3% 39m iodom1 active -n---- 5000 8 8G 9.4% 9.4% 5s