• Keshavamurthy, Anil S's avatar
    Intel IOMMU: IOVA allocation and management routines · f8de50eb
    Keshavamurthy, Anil S authored
    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: default avatarAnil 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: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    f8de50eb
iova.c 9.3 KB