s390/pci: introduce lazy IOTLB flushing for DMA unmap
authorGerald Schaefer <gerald.schaefer@de.ibm.com>
Fri, 18 Jul 2014 15:37:08 +0000 (17:37 +0200)
committerMartin Schwidefsky <schwidefsky@de.ibm.com>
Tue, 22 Jul 2014 07:26:24 +0000 (09:26 +0200)
commitc60d1ae4efcb5790f7d085369baf66c167a6484f
tree7555d2b2e44a6ad6f07e16afaf15492b862d8f99
parent29b8dd9d4274bca6526e4bb8d4f46dec1f4c15c9
s390/pci: introduce lazy IOTLB flushing for DMA unmap

This changes the default IOTLB flushing method to lazy flushing, which
means that there will be no direct flush after each DMA unmap operation.
Instead, the iommu bitmap pointer will be adjusted after unmap, so that
no DMA address will be re-used until after an iommu bitmap wrap-around.
The only IOTLB flush will then happen after each wrap-around.

A new kernel parameter "s390_iommu=" is also introduced, to allow changing
the flushing behaviour to the old strict method.

Reviewed-by: Sebastian Ott <sebott@linux.vnet.ibm.com>
Signed-off-by: Gerald Schaefer <gerald.schaefer@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Documentation/kernel-parameters.txt
arch/s390/pci/pci_dma.c