CMA broken in next-20120926

From: Thierry Reding
Date: Thu Sep 27 2012 - 07:29:07 EST


Hi Marek,

any idea why CMA might be broken in next-20120926. I see that there
haven't been any major changes to CMA itself, but there's been quite a
bit of restructuring of various memory allocation bits lately. I wasn't
able to track the problem down, though.

What I see is this during boot (with CMA_DEBUG enabled):

[ 0.266904] cma: dma_alloc_from_contiguous(cma db474f80, count 64, align 6)
[ 0.284469] cma: dma_alloc_from_contiguous(): memory range at c09d7000 is busy, retrying
[ 0.293648] cma: dma_alloc_from_contiguous(): memory range at c09d7800 is busy, retrying
...
[ 2.648619] DMA: failed to allocate 256 KiB pool for atomic coherent allocation
...
[ 4.196193] WARNING: at /home/thierry.reding/src/kernel/linux-ipmp.git/arch/arm/mm/dma-mapping.c:485 __alloc_from_pool+0xdc/0x110()
[ 4.207988] coherent pool not initialised!

So the pool isn't getting initialized properly because CMA can't get at
the memory. Do you have any hints as to what might be going on? If it's
any help, I started seeing this with next-20120926 and it is in today's
next as well.

Thierry

Attachment: pgp00000.pgp
Description: PGP signature