ソースを参照

[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>
Andi Kleen 19 年 前
コミット
3056d6be19
1 ファイル変更3 行追加0 行削除
  1. 3 0
      arch/x86_64/kernel/pci-dma.c

+ 3 - 0
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;