Skip to content
  • Tom Lendacky's avatar
    iommu/amd: Reduce amount of MMIO when submitting commands · d334a563
    Tom Lendacky authored
    
    
    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: default avatarTom Lendacky <thomas.lendacky@amd.com>
    Signed-off-by: default avatarJoerg Roedel <jroedel@suse.de>
    d334a563