Messages in this thread | | | Date | Sat, 6 Sep 2008 21:18:37 +0900 | Subject | Re: [PATCH] x86: use __GFP_NORETRY in the case of GFP_DMA with pci-nommu | From | FUJITA Tomonori <> |
| |
On Fri, 5 Sep 2008 12:43:05 +0200 Joerg Roedel <joerg.roedel@amd.com> wrote:
> On Fri, Sep 05, 2008 at 05:58:48PM +0900, FUJITA Tomonori wrote: > > Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp> > > --- > > arch/x86/kernel/pci-nommu.c | 3 +++ > > 1 files changed, 3 insertions(+), 0 deletions(-) > > > > diff --git a/arch/x86/kernel/pci-nommu.c b/arch/x86/kernel/pci-nommu.c > > index 526b2db..3495f88 100644 > > --- a/arch/x86/kernel/pci-nommu.c > > +++ b/arch/x86/kernel/pci-nommu.c > > @@ -102,6 +102,9 @@ nommu_alloc_coherent(struct device *hwdev, size_t size, > > if (dma_mask == DMA_24BIT_MASK) > > gfp |= GFP_DMA; > > again: > > + if (gfp & GFP_DMA) > > + gfp |= __GFP_NORETRY; > > + > > Huh? Why that? The __GFP_NORETRY is a hint from the caller to the page > allocator on how aggressive it should try to allocate memory. I don't > think the DMA code should touch those flags unless there is a very very > good reason for it.
The current comment is reasonable for me:
/* Don't invoke OOM killer or retry in lower 16MB DMA zone */ if (gfp & __GFP_DMA) noretry = 1;
| |