|| ||"Keshavamurthy, Anil S" <firstname.lastname@example.org>|
|| ||email@example.com, firstname.lastname@example.org|
|| ||[Intel IOMMU 00/10] Intel IOMMU support, take #2|
|| ||Tue, 19 Jun 2007 14:37:01 -0700|
|| ||email@example.com, firstname.lastname@example.org, email@example.com|
This patch supports the upcomming Intel IOMMU hardware
a.k.a. Intel(R) Virtualization Technology for Directed I/O
Architecture and the hardware spec for the same can be found here
This version of the patches incorporates several
feedback obtained from previous postings.
Some of the major changes are
1) Removed resource pool (a.k.a. pre-allocate pool) patch
2) For memory allocation in the DMA map api calls we
now use kmem_cache_alloc() and get_zeroedpage() functions
to allocate memory for internal data structures and for
page table setup memory.
3) The allocation of memory in the DMA map api calls is
very critical and to avoid failures during memory allocation
in the DMA map api calls we evaluated several technique
a) mempool - We found that mempool is pretty much useless
if we try to allocate memory with GFP_ATOMIC which is
our case. Also we found that it is difficult to judge
how much to reserver during the creation of mempool.
b) PF_MEMALLOC - When a task flags (current->flags) are
set with PF_MEMALLOC then watermark checks are avoided
during the memory allocation.
We choose to use the latter (option b) and make this as
a separate patch which can be debated further. Please
see patch 6/10.
Other minor changes are mostly coding style fixes and
making sure that checkpatch.pl passes the patches.
Please include this set of patches for next MM release.
Thanks and regards,
-Anil S Keshavamurthy