Incorrect maxXfer computation cause IO splits at PSA
book
Article ID: 321027
calendar_today
Updated On:
Products
VMware vSphere ESXi
Issue/Introduction
Symptoms: Incorrect maxXfer computation may lead to unnecessary IO splits at PSA impacting performance such as drop in IOPs/bandwidth etc.
Environment
VMware vSphere ESXi 7.0.0
Cause
This issue occurs because of the incorrect computation of maxXfer in PSA. This maxXfer is used in IO split later, and it leads to unnecessary splits and bounce buffering which may impact I/O performance.
Resolution
This issue is resolved in VMware ESXi 7.0 Update 1c, available at VMware Downloads.
Additional Information
If the PSA maxXfer is not set to min of (controller maxXfer, DMA maxXfer), it means the issue exists on the ESXi host.
Log in as root through SSH on the ESXi host.
To check the "Max Transfer Length" field in adapter DMA constraints which the driver is reporting, run the vsish -e get command:
For example:
vsish -e get /storage/scsifw/adapters/vmhba0/dmaConstraints | grep "Max Transfer size" Max Transfer size:2097152
To check the maxXfer that the controller is reporting:
For example:
vsish -e get /storage/psa/transport/nvme/adapters/vmhba0/controllers/nqn.2014-08.org.nvmexpress_144d_Dell_Express_Flash_NVMe_PM1725_1.6TB_SFF______S2JPNA0J200550/info | grep "Max Transfer Length" Max Transfer Length:131072
To check what maxXfer PSA is using:
For example:
vsish -e get /storage/scsifw/paths/vmhba0:C0:T0:L0/info | grep "max IO Size" max IO Size:131072