User: Password:
Subscribe / Log in / New account

extended allocator for amd iommu

From:  Joerg Roedel <>
Subject:  [PATCH 0/12] extended allocator for amd iommu
Date:  Fri, 22 May 2009 14:21:21 +0200
Message-ID:  <>
Archive-link:  Article

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.


 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(-)


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
More majordomo info at
Please read the FAQ at

Copyright © 2009, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds