> -----Original Message----- > From: Linuxppc-dev [mailto:linuxppc-dev- > bounces+bharat.bhushan=freescale....@lists.ozlabs.org] On Behalf Of Benjamin > Herrenschmidt > Sent: Tuesday, July 24, 2012 10:16 AM > To: Tabi Timur-B04825 > Cc: Wood Scott-B07421; Hu Mingkai-B21284; linuxppc-dev@lists.ozlabs.org; Xie > Shaohui-B21989; Chen Yuanquan-B41889 > Subject: Re: [PATCH] powerpc/mm: add ZONE_NORMAL zone for 64 bit kernel > > On Tue, 2012-07-24 at 04:04 +0000, Tabi Timur-B04825 wrote: > > Benjamin Herrenschmidt wrote: > > > Sure but I don't want to create the zones in the first place (and > > > thus introduce the added pressure on the memory management) on > > > machines that don't need it. > > > > One thing that does confuse me -- by default, we don't create a > > ZONE_NORMAL. We only create a ZONE_DMA. Why is that? Shouldn't it > > be the other way around? > > Because ZONE_NORMAL allocations can be serviced from the ZONE_DMA while the > other way isn't possible.
Say, if we have defined only one zone (ZONE_DMA) to which we give all memory ( > 4G). Device set the DMA_MASK to 4G or less. dma_alloc_coherent() will set GFP_DMA flag, But that is of no use, because the memory allocator have only one zone which have all memory (which assumes all dma-able). And can return memory at address at > 4G. which will crash !! I think we have to have at least one zone which gives memory to be dma-able for all devices (memory limit should be set by platform, because different platform have different devices with different limits.). And another ( 1 or more) will cover rest of memory. Thanks -Bharat > > Especially in the old days, there were quite a few cases of drivers and/or > subsystems who were a bit heavy handed at using ZONE_DMA, so not having one > would essentially make them not work at all. > > Cheers, > Ben. > > > _______________________________________________ > Linuxppc-dev mailing list > Linuxppc-dev@lists.ozlabs.org > https://lists.ozlabs.org/listinfo/linuxppc-dev _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev