Home
Reading
Searching
Subscribe
Sponsors
Statistics
Posting
Contact
Spam
Lists
Links
About
Hosting
Filtering
Features Download
Marketing
Archives
FAQ
Blog
 
Gmane
From: Joerg Roedel <joerg.roedel <at> amd.com>
Subject: [PATCH 0/12] extended allocator for amd iommu
Newsgroups: gmane.linux.kernel
Date: Friday 22nd May 2009 12:21:21 UTC (over 7 years ago)
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
 
CD: 15ms