aboutsummaryrefslogtreecommitdiffstats
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
parent[PATCH] x86_64: Don't invoke OOM killer while allocating floppy DMA buffers (diff)
downloadlinux-dev-3056d6be19b50cbd3f0290e816d702cc3e54a6f3.tar.xz
linux-dev-3056d6be19b50cbd3f0290e816d702cc3e54a6f3.zip
[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;