I've been meaning to try using CMA for a while.
I'm having trouble figuring out what I should put into config.txt and cmdline.txt.
eLinux states to use
and
Code: Select all
coherent_pool=6M smsc95xx.turbo_mode=N
I'm pretty sure that the cmdline.txt is correct.
However, I'm seeing posts here that state I should add
to config.txt. Is this correct?
Furthermore, what does changing the coherent_pool value do?
In short:
I would like to use my 256 MB Pi as a headless server (gpu_mem=16 – this is still the minimum, right?) most of the time.
I would like to also be able to easily plug it into a monitor and run GPU-heavy programs (Minecraft, the LXDE desktop, etc) with 128 MB of GPU memory.
Is this config.txt going to do what I want it to?
Code: Select all
gpu_mem=16 #or should this be 112?
cma_lwm=16
cma_hwm=32
#cma_offline_start=16
I want to maximize ARM memory.
Thank you for helping a confused newbie to CMA!
EDIT:
By careful trawling of this thread, I found that I should, in fact, use the following in config.txt:
Code: Select all
gpu_mem_256=112
gpu_mem_512=368
cma_lwm=16
cma_hwm=32
cma_offline_start=16
I'm still somewhat confused about the coherent_pool issue, as well as WHY these values for the GPU are necessary (Why 112, instead of 128? 112=128-16, which is the cma_offline_start value.), but I gather that these work well.
Is there any point in playing around with these? I suppose that changing the cma_lwm and cma_hwm would allow for greater "mobility" of RAM – at the cost of performance (I remember reading something about page shuffling?). What would be the benefit of a higher cma_offline_start (which, I believe, is what the ARM starts with? or the GPU? not sure!)?
I'll try this later on, but some simpler explanations would be helpful!
Or I could test it. That could be possibly fun.