summary refs log tree commit diff
diff options
context:
space:
mode:
authorAndi Kleen <ak@suse.de>2006-03-25 16:30:43 +0100
committerLinus Torvalds <torvalds@g5.osdl.org>2006-03-25 09:10:55 -0800
commit3056d6be19b50cbd3f0290e816d702cc3e54a6f3 (patch)
treef23c61a35202b554d2be8ff1ee6c1a5ac9ab8856
parent554d284ba90bc2306c31e5363789f05c320969c3 (diff)
downloadlinux-3056d6be19b50cbd3f0290e816d702cc3e54a6f3.tar.gz
[PATCH] x86_64: Don't invoke OOM killer during dma_alloc_coherent()
There is a fallback logic, so it's better to not use the OOM killer
in the allocations.

Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-rw-r--r--arch/x86_64/kernel/pci-dma.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/x86_64/kernel/pci-dma.c b/arch/x86_64/kernel/pci-dma.c
index 4ed391edd47a..03c9eeedb0f3 100644
--- a/arch/x86_64/kernel/pci-dma.c
+++ b/arch/x86_64/kernel/pci-dma.c
@@ -73,6 +73,9 @@ dma_alloc_coherent(struct device *dev, size_t size, dma_addr_t *dma_handle,
 	if (dma_mask == 0)
 		dma_mask = 0xffffffff;
 
+	/* Don't invoke OOM killer */
+	gfp |= __GFP_NORETRY;
+
 	/* Kludge to make it bug-to-bug compatible with i386. i386
 	   uses the normal dma_mask for alloc_coherent. */
 	dma_mask &= *dev->dma_mask;