[PATCH 0/2] [P/omap4] Remove the CMA
Paolo Pisati
paolo.pisati at canonical.com
Wed Jan 25 11:40:53 UTC 2012
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
On 01/24/2012 06:27 PM, Clark, Rob wrote:
> Could someone be a bit more specific than "CMA is causing issue
> that disappear when we add the memory hole in the bootargs"?
>
> If you aren't using syslink2 then you don't need the whole in
> memory. But there are some potential highmem issues w/ CMA.
> (Building kernel w/ 2g/2g split is one possible workaround now)
On a 3.2.1 + agreen's kernel-tilt/tilt-tracking @ c39eb9613c [1],
during boot we got this:
http://paste.ubuntu.com/814182/
with these boot arguments:
http://paste.ubuntu.com/814183/
...
[ 2.593322] __alloc_from_pool: coherent pool not initialised!
...
comes from arch/arm/mm/dma-mapping.c::__alloc_from_pool():
...
if (!coherent_head.vm_start) {
printk(KERN_ERR "%s: coherent pool not initialised!\n",
__func__);
dump_stack();
return NULL;
}
...
and coherent_head.vm_start is initialized in coherent_init() (called
from postcore_initcall()):
...
ptr = __alloc_from_contiguous(NULL, size, prot, &page);
if (ptr) {
coherent_head.vm_start = (unsigned long) ptr;
coherent_head.vm_end = (unsigned long) ptr + size;
printk(KERN_INFO "DMA: preallocated %u KiB pool for atomic
coherent allocations\n",
(unsigned)size / 1024);
return 0;
}
printk(KERN_ERR "DMA: failed to allocate %u KiB pool for atomic
coherent allocation\n",
(unsigned)size / 1024);
return -ENOMEM;
...
[ 0.339477] DMA: failed to allocate 256 KiB pool for atomic
coherent allocation
...
__alloc_from_contiguous():
pr_err("__alloc_from_contiguous: count=%lu, order=%lu\n", (unsigned
long)count, order);
page = dma_alloc_from_contiguous(dev, count, order);
if (!page)
return NULL;
pr_err("__alloc_from_contiguous: page=%p, size=%lu\n", page,
(unsigned long)size);
...
[ 0.330535] __alloc_from_contiguous: count=64, order=6
[ 0.330810] Trying to unpack rootfs image as initramfs...
[ 0.339477] DMA: failed to allocate 256 KiB pool for atomic
coherent allocation
...
I didn't notice this panic when i did the first rebase because i had
these arguments in my bootargs:
mem=456M at 0x80000000 mem=512M at 0xA0000000
as these somehow workarounded the problem and made the kernel boot.
Now, since all of this came with CMA, and CMA is not in mainline and
we already need hacks to make it work (e.g. 4b345a6 and dce4ad0), i
thought the best solution (with alpha2 kernel freeze approaching) was
to revert CMA and so i did (and rbasak confirmed the revert fixed all
the issues he saw).
I hope this time it's a bit more clear for anyone.
1:
http://kernel.ubuntu.com/git?p=ubuntu/ubuntu-precise.git;a=shortlog;h=refs/heads/ti-omap4
- --
bye,
p.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/
iQIcBAEBAgAGBQJPH+pAAAoJEJdscTmfuQbQzhMP/274JECf053+KkvRe/qUuiAV
QVVruNnYWBzWYESV/xu6HoGhN/3ubP+A2e4nJ26GSsj/JfZ0MF8vwsLzbg66Ido3
Kxw1YI8OuSJw9cLxVhXWq9muvoPF65K7gjn3ggYqqEJmB+LT9FBt4UPnFPU+RaoA
j4/poJe7J2lKLcty8AwcxypERef6QPKFyX+OWsXumvfTVI9oD1mRVO07lpVhxKYR
Lim8Q50FSk30tBdBKOxhI6OztaW8x5lbJ4c6CsjyDfV9hhJiXin2ZbcH/QgADGMg
XiWu8cDnI+9BTtNgR3Z2zWX4dpyetXx2Mjqe67OECqFKE/LQ+pjEWgu3dTm3F6Mf
abpGuluzxMfYiDn6xY/T5N1oSSj7QiDmQc6QHyluzvKuDi/HFTxJUOTqQ0UjzrYE
8wbF60cScTITvb20JXvQshekaS8xSTP9QQ6i2+us82AiY2QNNQ+X3Ukxq415n4dm
iQ39FB/q9a0PoZ5eS0VO1iUP4mn7AnaXL/5w76kTq+0a7rDLpIlEf0UtNUpSuD8z
Pj0yCItMcf5sgp2rxshJoj0b8WUulnHqchlCCLxKgYKh5cVFEgPbZb0Su6pEMbrI
7zvph94LBzuW9Invvp60NNB/j+u52KQtubhGQ6T0cBxlHPjbzrBVDbyWXRCMsNvr
4X0n+BeoQ4rFHzzeRS9m
=yk30
-----END PGP SIGNATURE-----
More information about the kernel-team
mailing list