VFIO module provides configurable dma_entry_limit parameter to store the DMA entries. By default this is 64K and if we are using --no-huge, we shall need to increase the value of dma_entry_limit. Add commands in linux_gsg document to change the dma_entry_limit.
Signed-off-by: Nipun Gupta <nipun.gu...@amd.com> --- Changes v1->v2: - updated param 'no-huge' to '--no-huge' in documentation doc/guides/linux_gsg/linux_drivers.rst | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/doc/guides/linux_gsg/linux_drivers.rst b/doc/guides/linux_gsg/linux_drivers.rst index 2cec1ebede..b729bb38a8 100644 --- a/doc/guides/linux_gsg/linux_drivers.rst +++ b/doc/guides/linux_gsg/linux_drivers.rst @@ -180,6 +180,21 @@ VFIO module parameter ``dma_entry_limit`` with a default value of 64K. When application is out of DMA entries, these limits need to be adjusted to increase the allowed limit. +When ``--no-huge`` parameter is used, the page size used is of smaller size of +``4K`` or ``64K`` and we shall need to increase ``dma_entry_limit``. +To update the ``dma_entry_limit``, ``vfio_iommu_type1`` has to be loaded with +additional module parameter: + +.. code-block:: console + + modprobe vfio_iommu_type1 dma_entry_limit=512000 + +Alternatively, one can also change this value in an already loaded kernel module: + +.. code-block:: console + + echo 512000 > /sys/module/vfio_iommu_type1/parameters/dma_entry_limit + Creating Virtual Functions using vfio-pci ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -- 2.17.1