kernel-fxtec-pro1x/drivers
mark gross 5e0d2a6fc0 PCI: iommu: iotlb flushing
This patch is for batching up the flushing of the IOTLB for the DMAR
implementation found in the Intel VT-d hardware.  It works by building a list
of to be flushed IOTLB entries and a bitmap list of which DMAR engine they are
from.

After either a high water mark (250 accessible via debugfs) or 10ms the list
of iova's will be reclaimed and the DMAR engines associated are IOTLB-flushed.

This approach recovers 15 to 20% of the performance lost when using the IOMMU
for my netperf udp stream benchmark with small packets.  It can be disabled
with a kernel boot parameter "intel_iommu=strict".

Its use does weaken the IOMMU protections a bit.

Signed-off-by: Mark Gross <mgross@linux.intel.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2008-04-20 21:47:07 -07:00
..
acorn/char
acpi Add down_timeout and change ACPI to use it 2008-04-17 10:42:46 -04:00
amba
ata Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 2008-04-18 11:25:31 -07:00
atm [ATM] drivers/atm/horizon.c: stop inlining largish static functions 2008-04-13 21:54:34 -07:00
auxdisplay
base [SCSI] transport_class: BUG if we can't release the attribute container 2008-04-07 12:19:10 -05:00
block Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6 2008-04-17 23:56:30 -07:00
bluetooth
cdrom
char Merge git://git.kernel.org/pub/scm/linux/kernel/git/mingo/linux-2.6-kgdb 2008-04-18 08:37:01 -07:00
clocksource
connector
cpufreq
cpuidle cpuidle: fix 100% C0 statistics regression 2008-03-26 00:58:19 -04:00
crypto [S390] zcrypt: add support for large random numbers 2008-04-17 07:47:02 +02:00
dca
dio
dma dmaengine: ack to flags: make use of the unused bits in the 'ack' field 2008-04-17 13:25:54 -07:00
edac
eisa
firewire firewire: cleanups 2008-04-18 17:55:37 +02:00
firmware ipmi: change device node ordering to reflect probe order 2008-04-04 14:46:26 -07:00
gpio
hid
hwmon hwmon: (w83781d) Fix I/O resource conflict with PNP 2008-03-27 08:40:41 -04:00
i2c i2c-tiny-usb: New VID/PID pair 2008-04-11 12:07:05 +02:00
ide ide: remove ide_init_default_irq() macro 2008-04-18 00:46:35 +02:00
ieee1394 ieee1394: limit early node speed to host interface speed 2008-04-18 17:55:31 +02:00
infiniband IB/iser: Don't change itt endianness 2008-04-16 21:09:35 -07:00
input Input: appletouch - add product IDs for the 4th generation MacBooks 2008-04-02 10:14:29 -04:00
isdn [ISDN]: Do not validate ISDN net device address prior to interface-up 2008-04-13 22:44:20 -07:00
leds leds: fix platform driver hotplug/coldplug 2008-04-15 19:35:40 -07:00
lguest misc __user misannotations (pointless casts to long) 2008-03-30 14:20:23 -07:00
macintosh ide: rework PowerMac media-bay support (take 2) 2008-04-18 00:46:23 +02:00
mca
md md: close a livelock window in handle_parity_checks5 2008-04-11 08:06:44 -07:00
media pvrusb2: fix broken build due to patch order dependency 2008-04-07 19:14:34 -07:00
memstick memstick: suppress uninitialized-var warning 2008-03-28 14:45:23 -07:00
message [SCSI] mpt fusion: fix up msi_enable in mpt_suspend 2008-04-07 12:19:02 -05:00
mfd mfd/asic3: ioread/iowrite take pointer, not unsigned long 2008-03-30 14:20:24 -07:00
misc kgdb: allow static kgdbts boot configuration 2008-04-17 20:05:43 +02:00
mmc mmc: fix platform driver hotplug/coldplug 2008-04-15 19:35:40 -07:00
mtd mtd/chips: add missing set_current_state() to cfi_{amdstd,staa}_sync() 2008-04-08 18:25:53 -07:00
net Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6.26 2008-04-18 18:02:35 -07:00
nubus
of
oprofile
parisc PCI: remove parisc consumer of the pci global_list 2008-04-20 21:47:01 -07:00
parport parport_pc: make sure to release IO ports after probing for IT87XX 2008-04-04 14:30:31 -07:00
pci PCI: iommu: iotlb flushing 2008-04-20 21:47:07 -07:00
pcmcia pcmcia: fix platform driver hotplug/coldplug 2008-04-15 19:35:40 -07:00
pnp pnpacpi: reduce printk severity for "pnpacpi: exceeded the max number of ..." 2008-03-26 14:22:20 -04:00
power
ps3
rapidio
rtc rtc: fix the error in the function of cmos_set_alarm 2008-04-15 19:35:40 -07:00
s390 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6.26 2008-04-18 18:02:35 -07:00
sbus
scsi Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6 2008-04-18 11:25:31 -07:00
serial kgdb: Kconfig fix 2008-04-17 20:05:42 +02:00
sh
sn
spi spi: spi_s3c24xx must initialize num_chipselect 2008-04-15 19:35:41 -07:00
ssb Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6 2008-04-17 23:56:30 -07:00
tc
telephony
thermal acpi thermal trip points increased to 12 2008-04-15 19:35:41 -07:00
uio UIO: add pgprot_noncached() to UIO mmap code 2008-03-24 22:33:49 -07:00
usb USB: remove broken usb-serial num_endpoints check 2008-04-15 22:30:53 -07:00
video fbdev: fix /proc/fb oops after module removal 2008-04-15 19:35:40 -07:00
virtio virtio: remove overzealous BUG_ON. 2008-04-07 13:14:22 -07:00
w1
watchdog watchdog: fix platform driver hotplug/coldplug 2008-04-11 08:06:44 -07:00
xen xen: fix grant table bug 2008-04-04 18:36:46 +02:00
zorro
Kconfig
Makefile