[lkml]   [2008]   [Sep]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
Subject[PATCH 0/5] fix exhaustion of ZONE_DMA with swiotlb (in x86 tree)
This patchset (against tip/master) fixes the problem that swiotlb
exhausts ZONE_DMA:

The root problem is that swiotlb_alloc_coherent always use ZONE_DMA,
which is fine for IA64 but not for x86_64.

This patchset makes the callers set up the gfp flags so that
swiotlb_alloc_coherent can stop playing with the gfp flags.

I think that it would be better to remove the allocation code in
swiotlb_alloc_coherent theoretically (what swiotlb should do is taking
care of the swiotlb memory. And swiotlb_alloc_coherent is not useful
since we use it only when we can't allocate memory reachable by the
device or we are in out of memory). But that code works for both x86
and IA64 so it's not so bad, I guess.

#1 is for IA64, #2-4 for x86, and #5 is for swiotlb.

arch/ia64/include/asm/dma-mapping.h | 4 ++-
arch/x86/kernel/pci-nommu.c | 21 +------------------
include/asm-x86/dma-mapping.h | 37 +++++++++++++++++++++++++++++++---
lib/swiotlb.c | 7 ------
4 files changed, 37 insertions(+), 32 deletions(-)

 \ /
  Last update: 2008-09-08 11:15    [W:0.080 / U:11.564 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site