This error can occur if the fibre channel adapter is extremely busy. The AIX FC adapter driver is trying to map an I/O buffer for DMA access, so the FC adapter can read or write into the buffer. The DMA mapping is done by making a request to the PCI bus device driver.
The PCI bus device driver is saying that it can't satisfy the request right now. There was simply too much IO at that moment, and the adapter couldn't handle them all. When the FC adapter is configured, we tell the PCI bus driver how much resource to set aside for us, and it may have gone over the limit. It is therefore recommended to increase the max_xfer_size on the fibre channel devices.
It depends on the type of fibre channel adapter, but usually the possible sizes are:
0x100000, 0x200000, 0x400000, 0x800000, 0x1000000
To view the current setting type the following command:
# lsattr -El fcsX -a max_xfer_sizeReplace the X with the fibre channel adapter number.
You should get an output similar to the following:
max_xfer_size 0x100000 Maximum Transfer Size TrueThe value can be changed as follows, after which the server needs to be rebooted:
# chdev -l fcsX -a max_xfer_size=0x1000000 -P
If you found this useful, here's more on the same topic(s) in our blog:
- Mounting a Windows share on an AIX system
- Inodes without filenames
- Creating a CSV file from NMON data
- Defunct processes
- Commands to create printer queues
Interested in learning more?