I am trying to migrate my kernel from 3.0.15 to 3.0.101.
Upon fresh build of 3.0.101 with default imx6_defconfig, i am able to boot up the board.
My board is mounted with 512MB of RAM (2 x 16bit DDRRAM).
Upon boot up, i see that the memory available is only 246348k, where the rest is placed in reserved section, as kernel log below:
PID hash table entries: 1024 (order: 0, 4096 bytes)
Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)
Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
Memory: 256MB = 256MB total
Memory: 246348k/246348k available, 277940k reserved, 0K highmem
Virtual kernel memory layout:
vector : 0xffff0000 - 0xffff1000 ( 4 kB)
fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB)
DMA : 0xf4600000 - 0xffe00000 ( 184 MB)
vmalloc : 0xa0800000 - 0xf2000000 (1304 MB)
lowmem : 0x80000000 - 0xa0000000 ( 512 MB)
pkmap : 0x7fe00000 - 0x80000000 ( 2 MB)
modules : 0x7f000000 - 0x7fe00000 ( 14 MB)
.init : 0x80008000 - 0x8003c000 ( 208 kB)
.text : 0x8003c000 - 0x80a99a5c (10615 kB)
.data : 0x80a9a000 - 0x80afe760 ( 402 kB)
.bss : 0x80afe784 - 0x80b2c24c ( 183 kB)
SLUB: Genslabs=13, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
From the log above, the memory is at 256MB only, but the lowmem is able to detect 512MB. Is it normal that the reserved memory is that much (277940k)?
In my previous kernel of 3.0.15, i am able to get 513264k memory available with only 11024k reserved memory. What makes the different? or is there anywhere in kernel that i can change the allocation of the reserved memory?
I found out why already.
128MB of the memory is allocated for the GPU, and another 128MB is allocated for the vout_mem.
After removing these 2, i got back my 512MB.
Hi ZC Tee,
I have the same problem on my sabrelite board.
As I do not use GPU, so it is safe to release the 128M memory reserved for GPU.
But I'm not very sure what will happen if no memory is reserved for vout_mem,
by setting vout_mem.res_msize to 0.
What's the principle for this decision?
Hi ZC Tee,
I am facing similar issue on our custom board we have interface imx6 solo to 2 x 16bit DDR3 256MB each. can you help me where i need to make changes. I am using uboot 2009.08 and Linux kernel 3.0.35.
I just saw your post. It doesn't prompt to my email.
Just in case you still need the answer, you can commented out all the related coding for the imx6q_gpu_pdata and imx_vout_mem in file arch/arm/mach-mx6/baord-mx6q_sabresd.c