• T
    iommu/amd: Reduce amount of MMIO when submitting commands · d334a563
    Tom Lendacky 提交于
    As newer, higher speed devices are developed, perf data shows that the
    amount of MMIO that is performed when submitting commands to the IOMMU
    causes performance issues. Currently, the command submission path reads
    the command buffer head and tail pointers and then writes the tail
    pointer once the command is ready.
    
    The tail pointer is only ever updated by the driver so it can be tracked
    by the driver without having to read it from the hardware.
    
    The head pointer is updated by the hardware, but can be read
    opportunistically. Reading the head pointer only when it appears that
    there might not be room in the command buffer and then re-checking the
    available space reduces the number of times the head pointer has to be
    read.
    Signed-off-by: NTom Lendacky <thomas.lendacky@amd.com>
    Signed-off-by: NJoerg Roedel <jroedel@suse.de>
    d334a563
amd_iommu_init.c 67.8 KB