diff options
author | mark gross <mgross@linux.intel.com> | 2008-04-18 22:53:58 +0200 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2008-04-21 06:47:13 +0200 |
commit | 80b20dd853a2b00802e6254dc9f690f0da1a925c (patch) | |
tree | 38f7718fab83b9892aa76be5d782571a3abdd43a /drivers/pci/iova.h | |
parent | PCI: pci_setup_bridge() mustn't be __devinit (diff) | |
download | linux-80b20dd853a2b00802e6254dc9f690f0da1a925c.tar.xz linux-80b20dd853a2b00802e6254dc9f690f0da1a925c.zip |
PCI: pci-iommu-iotlb-flushing-speedup
The following patch is an update to use an array instead of a list of
IOVA's in the implementation of defered iotlb flushes. It takes
inspiration from sba_iommu.c
I like this implementation better as it encapsulates the batch process
within intel-iommu.c, and no longer touches iova.h (which is shared)
Performance data: Netperf 32byte UDP streaming
2.6.25-rc3-mm1:
IOMMU-strict : 58Mps @ 62% cpu
NO-IOMMU : 71Mbs @ 41% cpu
List-based IOMMU-default-batched-IOTLB flush: 66Mbps @ 57% cpu
with this patch:
IOMMU-strict : 73Mps @ 75% cpu
NO-IOMMU : 74Mbs @ 42% cpu
Array-based IOMMU-default-batched-IOTLB flush: 72Mbps @ 62% cpu
Signed-off-by: <mgross@linux.intel.com>
Cc: Grant Grundler <grundler@parisc-linux.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to '')
-rw-r--r-- | drivers/pci/iova.h | 2 |
1 files changed, 0 insertions, 2 deletions
diff --git a/drivers/pci/iova.h b/drivers/pci/iova.h index 2f1317801b20..228f6c94b69c 100644 --- a/drivers/pci/iova.h +++ b/drivers/pci/iova.h @@ -24,8 +24,6 @@ struct iova { struct rb_node node; unsigned long pfn_hi; /* IOMMU dish out addr hi */ unsigned long pfn_lo; /* IOMMU dish out addr lo */ - struct list_head list; - void *dmar; }; /* holds all the iova translations for a domain */ |