Thread (20 messages) 20 messages, 5 authors, 2012-02-03

Re: [RFCv1 0/6] PASR: Partial Array Self-Refresh Framework

From: Maxime Coquelin <hidden>
Date: 2012-01-30 14:21:08
Also in: lkml

Dear Ingo,

On 01/30/2012 02:53 PM, Ingo Molnar wrote:
* Maxime Coquelin[off-list ref]  wrote:
quoted
The role of this framework is to stop the refresh of unused
memory to enhance DDR power consumption.
I'm wondering in what scenarios this is useful, and how
consistently it is useful.

The primary concern I can see is that on most Linux systems with
an uptime more than a couple of minutes RAM gets used up by the
Linux page-cache:

  $ uptime
   14:46:39 up 11 days,  2:04, 19 users,  load average: 0.11, 0.29, 0.80
  $ free
               total       used       free     shared    buffers     cached
  Mem:      12255096   12030152     224944          0     651560    6000452
  -/+ buffers/cache:    5378140    6876956

Even mobile phones easily have days of uptime - quite often
weeks of uptime. I'd expect the page-cache to fill up RAM on
such systems.

So how will this actually end up saving power consistently? Does
it have to be combined with a VM policy that more aggressively
flushes cached pages from the page-cache?
You're right Ingo, page-cache fills up the RAM.
This framework is to be used in combination with a page-cache flush 
governor.
In the case of a mobile phone, we can imagine dropping the cache when 
system's
screen is off for a while, in order to preserve user's experience.
A secondary concern is fragmentation: right now we fragment
memory rather significantly.
Yes, I think fragmentation is the main challenge.
This is the same problem faced for Memory Hotplug feature.
The solution I see is to add a significant Movable zone in the system and
use the Compaction feature from Mel Gorman.
The problem of course remains for the Normal zone.
For the Ux500 PASR driver you've
implemented the section size is 64 MB. Do I interpret the code
correctly in that a continuous, 64MB physical block of RAM has
to be 100% free for us to be able to turn off refresh and power
for this block of RAM?
Current DDR (2Gb/4Gb dies) used in mobile platform have 64MB banks and 
segments.
This is the lower granularity for Partial Array Self-refresh.

Thanks for your comments,
Maxime
Thanks,

	Ingo
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help