i.mx6 solo reserved memory too high

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

i.mx6 solo reserved memory too high

2,310 Views
zc_tee
Contributor III

Hi all,

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?

Thank you.

Regards,

ZC

Labels (2)
0 Kudos
6 Replies

1,053 Views
zc_tee
Contributor III

Hi all,

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.

Regards,

ZC

0 Kudos

1,053 Views
RobbieJiang
Contributor IV

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?

0 Kudos

1,053 Views
zc_tee
Contributor III

Hi Robbie,

In my application, we do not play video as well, therefore we commented out the vout_mem allocation as well.

Regards,

Tee

0 Kudos

1,053 Views
deepakbhagat
Contributor II

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.

Regards,

Deepak Bhagat.

0 Kudos

1,053 Views
zc_tee
Contributor III

Hi Deepak,

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

Regards,

Tee

0 Kudos

1,053 Views
igorpadykov
NXP Employee
NXP Employee

thanks for sharing that, another useful gpu memory usage links

iMX5 Android Gingerbread Memory Usage and Optimization

Memory Management on i.MX6 Android

~igor

0 Kudos