[PATCH 0/12] extended allocator for amd iommu

From: Joerg Roedel
Date: Fri May 22 2009 - 08:23:34 EST


This patchset changes the allocator for dma addresses in the AMD IOMMU
driver for Linux to support a dynamic size. This patchset extends the
default size for the dma_ops aperture to 128MB per default with
pre-allocated page tables. If the address space is too small it will be
extended dynamically by another 128MB, this time without preallocating
the page tables. This way the aperture can grow up to 4GB. It is
designed to be easily extendable to even larger dma_ops apertures.
The code also introduces three changes to enable stress testing of this
code with CONFIG_IOMMU_STRESS. Please review.

diffstat:

Documentation/kernel-parameters.txt | 5 -
arch/x86/include/asm/amd_iommu_types.h | 41 +++-
arch/x86/kernel/amd_iommu.c | 439 +++++++++++++++++++++++---------
arch/x86/kernel/amd_iommu_init.c | 15 -
4 files changed, 352 insertions(+), 148 deletions(-)

shortlog:

Joerg Roedel (12):
amd-iommu: introduce aperture_range structure
amd-iommu: move page table allocation code to seperate function
amd-iommu: handle page table allocation failures in dma_ops code
amd-iommu: make address allocator aware of multiple aperture ranges
amd-iommu: change dma_dom->next_bit to dma_dom->next_address
amd-iommu: move aperture_range allocation code to seperate function
amd-iommu: handle exlusion ranges and unity mappings in alloc_new_range
amd-iommu: enlarge the aperture dynamically
amd-iommu: remove amd_iommu_size kernel parameter
amd-iommu: disable round-robin allocator for CONFIG_IOMMU_STRESS
amd-iommu: don't preallocate page tables with CONFIG_IOMMU_STRESS
amd-iommu: don't free dma adresses below 512MB with CONFIG_IOMMU_STRESS


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/