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

From: Ingo Molnar
Date: Mon Jan 30 2012 - 08:54:09 EST



* Maxime Coquelin <maxime.coquelin@xxxxxxxxxxxxxx> 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?

A secondary concern is fragmentation: right now we fragment
memory rather significantly. 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?

Thanks,

Ingo
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/