• K
    Intel IOMMU: IOVA allocation and management routines · f8de50eb
    Keshavamurthy, Anil S 提交于
    This code implements a generic IOVA allocation and management.  As per Dave's
    suggestion we are now allocating IO virtual address from Higher DMA limit
    address rather than lower end address and this eliminated the need to preserve
    the IO virtual address for multiple devices sharing the same domain virtual
    address.
    
    Also this code uses red black trees to store the allocated and reserved iova
    nodes.  This showed a good performance improvements over previous linear
    linked list.
    
    [akpm@linux-foundation.org: remove inlines]
    [akpm@linux-foundation.org: coding style fixes]
    Signed-off-by: NAnil S Keshavamurthy <anil.s.keshavamurthy@intel.com>
    Cc: Andi Kleen <ak@suse.de>
    Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
    Cc: Muli Ben-Yehuda <muli@il.ibm.com>
    Cc: "Siddha, Suresh B" <suresh.b.siddha@intel.com>
    Cc: Arjan van de Ven <arjan@infradead.org>
    Cc: Ashok Raj <ashok.raj@intel.com>
    Cc: "David S. Miller" <davem@davemloft.net>
    Cc: Christoph Lameter <clameter@sgi.com>
    Cc: Greg KH <greg@kroah.com>
    Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
    f8de50eb
iova.h 1.9 KB