Message ID | 1337672417-10065-1-git-send-email-m.szyprowski@samsung.com |
---|---|
State | Accepted |
Headers | show |
Hi Marek, 2012/5/22 Marek Szyprowski <m.szyprowski@samsung.com>: > Hi Linus, > > I would like to ask for pulling Contiguous Memory Allocator (CMA) and > ARM DMA-mapping framework updates for v3.5. > > The following changes since commit 76e10d158efb6d4516018846f60c2ab5501900bc: > > Linux 3.4 (2012-05-20 15:29:13 -0700) > > with the top-most commit 0f51596bd39a5c928307ffcffc9ba07f90f42a8b > > Merge branch 'for-next-arm-dma' into for-linus > > are available in the git repository at: > git://git.linaro.org/people/mszyprowski/linux-dma-mapping.git for-linus > > > Patch summary: > > Marek Szyprowski (17): > common: add dma_mmap_from_coherent() function > ARM: dma-mapping: use dma_mmap_from_coherent() > ARM: dma-mapping: use pr_* instread of printk > ARM: dma-mapping: introduce DMA_ERROR_CODE constant > ARM: dma-mapping: remove offset parameter to prepare for generic dma_ops > ARM: dma-mapping: use asm-generic/dma-mapping-common.h > ARM: dma-mapping: implement dma sg methods on top of any generic dma ops > ARM: dma-mapping: move all dma bounce code to separate dma ops structure > ARM: dma-mapping: remove redundant code and do the cleanup > ARM: dma-mapping: use alloc, mmap, free from dma_ops > ARM: dma-mapping: add support for IOMMU mapper > mm: extract reclaim code from __alloc_pages_direct_reclaim() > mm: trigger page reclaim in alloc_contig_range() to stabilise watermarks > drivers: add Contiguous Memory Allocator > X86: integrate CMA with DMA-mapping subsystem > ARM: integrate CMA with DMA-mapping subsystem > Merge branch 'for-next-arm-dma' into for-linus > > Mel Gorman (1): > mm: Serialize access to min_free_kbytes > > Michal Nazarewicz (9): > mm: page_alloc: remove trailing whitespace > mm: compaction: introduce isolate_migratepages_range() > mm: compaction: introduce map_pages() > mm: compaction: introduce isolate_freepages_range() > mm: compaction: export some of the functions > mm: page_alloc: introduce alloc_contig_range() > mm: page_alloc: change fallbacks array handling > mm: mmzone: MIGRATE_CMA migration type added > mm: page_isolation: MIGRATE_CMA isolation functions added > > Minchan Kim (1): > cma: fix migration mode > > Vitaly Andrianov (1): > ARM: dma-mapping: use PMD size for section unmap would you pls add CMA test module in this patchset too? http://lists.infradead.org/pipermail/linux-arm-kernel/2012-March/088412.html mm: cma: add a simple kernel module as the helper to test CMA Signed-off-by: Barry Song <Baohua.Song@csr.com> Reviewed-by: Michal Nazarewicz <mina86@mina86.com> Thanks barry
I notice we have new warnings as a result of CMA being merged, though thankfully they're just in Kconfig: warning: (ARM) selects CMA which has unmet direct dependencies (HAVE_DMA_CONTIGUOUS && HAVE_MEMBLOCK && EXPERIMENTAL) This seems totally weird: you're mandating that ARM must have CMA selected, but it's an experimental feature? So you're implying that the entire ARM kernel becomes totally experimental for the next release cycle? I think this needs fixing.
Hello, On Tuesday, May 29, 2012 2:30 PM Russell King - ARM Linux wrote: > I notice we have new warnings as a result of CMA being merged, though > thankfully they're just in Kconfig: > > warning: (ARM) selects CMA which has unmet direct dependencies (HAVE_DMA_CONTIGUOUS && > HAVE_MEMBLOCK && EXPERIMENTAL) > > This seems totally weird: you're mandating that ARM must have CMA > selected, but it's an experimental feature? So you're implying that > the entire ARM kernel becomes totally experimental for the next > release cycle? > > I think this needs fixing. No, that wasn't my intention. I will provide a patch which removes unconditional dependency on CMA - it will let one to disable CMA and use old allocation method if needed, but this requires a few more changes in the dma-mapping implementation. I wasn't aware of the consequences and no one has complained about this since v15 of CMA patches (Aug 2011). Best regards
On Tue, May 29, 2012 at 04:50:45PM +0200, Marek Szyprowski wrote: > Hello, > > On Tuesday, May 29, 2012 2:30 PM Russell King - ARM Linux wrote: > > > I notice we have new warnings as a result of CMA being merged, though > > thankfully they're just in Kconfig: > > > > warning: (ARM) selects CMA which has unmet direct dependencies (HAVE_DMA_CONTIGUOUS && > > HAVE_MEMBLOCK && EXPERIMENTAL) > > > > This seems totally weird: you're mandating that ARM must have CMA > > selected, but it's an experimental feature? So you're implying that > > the entire ARM kernel becomes totally experimental for the next > > release cycle? > > > > I think this needs fixing. > > No, that wasn't my intention. I will provide a patch which removes unconditional dependency > on CMA - it will let one to disable CMA and use old allocation method if needed, but this > requires a few more changes in the dma-mapping implementation. I wasn't aware of the > consequences and no one has complained about this since v15 of CMA patches (Aug 2011). I've just been looking at the automatic build and boot logs, and CMA looks like it has the potential to cause regressions: Linux version 3.4.0+ (rmk@rmk-PC.arm.linux.org.uk) (gcc version 4.3.5 (GCC) ) #1 PREEMPT Fri Jun 1 02:01:58 BST 2012 CPU: ARMv7 Processor [411fc082] revision 2 (ARMv7), cr=10c53c7d CPU: PIPT / VIPT nonaliasing data cache, VIPT nonaliasing instruction cache Machine: OMAP LDP board vmalloc area is too big, limiting to 976MB Reserving 2097152 bytes SDRAM for VRAM cma: CMA: failed to reserve 16 MiB ... Kernel command line: console=ttyO2,115200n8 noinitrd vmalloc=1G mem=128M root=/dev/mmcblk0p2 rw ip=none rootdelay=2 video=omap24xxfb:rotation=270 ... NET: Registered protocol family 16 initlevel:2=postcore, 16 registered initcalls DMA: failed to allocate 256 KiB pool for atomic coherent allocation I don't see any other failures, but that doesn't look good... Note that that command line has worked perfectly well up until now.