[PATCH] x86_64: Don't invoke OOM killer during dma_alloc_coherent()
authorAndi Kleen <ak@suse.de>
Sat, 25 Mar 2006 15:30:43 +0000 (16:30 +0100)
committerLinus Torvalds <torvalds@g5.osdl.org>
Sat, 25 Mar 2006 17:10:55 +0000 (09:10 -0800)
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>
arch/x86_64/kernel/pci-dma.c

index 4ed391edd47abc6df903240d374c2c87863aec4a..03c9eeedb0f30672839648984c94ec89103c9e2f 100644 (file)
@@ -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;