Re: [PATCH] x86: restore the old swiotlb alloc_coherent behavior

From: Ingo Molnar
Date: Thu Oct 23 2008 - 10:23:18 EST



* FUJITA Tomonori <fujita.tomonori@xxxxxxxxxxxxx> wrote:

> This restores the old swiotlb alloc_coherent behavior (before the
> alloc_coherent rewrite):
>
> http://lkml.org/lkml/2008/8/12/200
>
> The old alloc_coherent avoids GFP_DMA allocation first and if the
> allocated address is not fit for the device's coherent_dma_mask, then
> dma_alloc_coherent does GFP_DMA allocation. If it fails,
> alloc_coherent calls swiotlb_alloc_coherent (in short, we rarely used
> swiotlb_alloc_coherent).
>
> After the alloc_coherent rewrite, dma_alloc_coherent
> (include/asm-x86/dma-mapping.h) directly calls swiotlb_alloc_coherent.
> It means that we possibly can't handle a device having dma_masks >
> 24bit < 32bits since swiotlb_alloc_coherent doesn't have the above
> GFP_DMA retry mechanism.
>
> This patch fixes x86's swiotlb alloc_coherent to use the GFP_DMA retry
> mechanism, which dma_generic_alloc_coherent() provides now
> (pci-nommu.c and GART IOMMU driver also use
> dma_generic_alloc_coherent).
>
> Signed-off-by: FUJITA Tomonori <fujita.tomonori@xxxxxxxxxxxxx>
> ---
> arch/x86/kernel/pci-swiotlb_64.c | 14 +++++++++++++-
> 1 files changed, 13 insertions(+), 1 deletions(-)

applied to tip/core/urgent (to after the two other iommu related
patches) - thanks Fujita!

Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/