Messages in this thread |  | | Date | Mon, 30 Jan 2012 15:19:45 +0100 | From | Maxime Coquelin <> | Subject | Re: [RFCv1 0/6] PASR: Partial Array Self-Refresh Framework |
| |
Dear Ingo,
On 01/30/2012 02:53 PM, Ingo Molnar wrote: > * Maxime Coquelin<maxime.coquelin@stericsson.com> wrote: > >> 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
|  |