From: Maxime Coquelin <maxime.coquelin@stericsson.com>
To: Ingo Molnar <mingo@elte.hu>
Cc: "linux-mm@kvack.org" <linux-mm@kvack.org>,
"linaro-mm-sig@lists.linaro.org" <linaro-mm-sig@lists.linaro.org>,
Mel Gorman <mel@csn.ul.ie>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
Linus WALLEIJ <linus.walleij@stericsson.com>,
Andrea GALLO <andrea.gallo@stericsson.com>,
Vincent GUITTOT <vincent.guittot@stericsson.com>,
Philippe LANGLAIS <philippe.langlais@stericsson.com>,
Loic PALLARDY <loic.pallardy@stericsson.com>,
Andrew Morton <akpm@linux-foundation.org>,
Linus Torvalds <torvalds@linux-foundation.org>,
Thomas Gleixner <tglx@linutronix.de>,
Peter Zijlstra <a.p.zijlstra@chello.nl>
Subject: Re: [RFCv1 0/6] PASR: Partial Array Self-Refresh Framework
Date: Tue, 31 Jan 2012 15:48:28 +0100 [thread overview]
Message-ID: <4F27FF3C.5050000@stericsson.com> (raw)
In-Reply-To: <20120131123903.GB4408@elte.hu>
On 01/31/2012 01:39 PM, Ingo Molnar wrote:
> * Maxime Coquelin<maxime.coquelin@stericsson.com> wrote:
>
>> 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.
> Is this "page-cache flush governor" some existing code?
> How does it work and does it need upstream patches?
For now, such a governor has not been implemented.
I use the dedicated ProcFS interface to test the framework (echo 3 >
/proc/sys/vm/drop_caches).
>>> 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.
> Ok. I guess phones/appliances can generally live with a
> relatively large movable zone as they don't have serious
> memory pressure issues.
Actually, current high-end smartphones and tablets have 1GB DDR.
Smartphones and tablets arriving later this year should have up to 2GB DDR.
For example, my Android phone running for 2 days has only 230MB are used
in idle once the page-caches dropped.
So I think having a 1GB movable zone on a 2GB DDR phone is conceivable.
>>> 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.
> Ok, so do you see real, consistent power savings with a large
> movable zone, with page cache governor patches applied (assuming
> it's a kernel mechanism) and CONFIG_COMPACTION=y enabled, on an
> upstream kernel with all these patches applied?
I don't have consistent figures for now as it is being prototyped.
From the DDR datasheet I gathered, the DDR power savings is about 33%
when half of the die is in self-refresh, compared to the full die in
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>
--
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>
WARNING: multiple messages have this Message-ID (diff)
From: Maxime Coquelin <maxime.coquelin@stericsson.com>
To: Ingo Molnar <mingo@elte.hu>
Cc: "linux-mm@kvack.org" <linux-mm@kvack.org>,
"linaro-mm-sig@lists.linaro.org" <linaro-mm-sig@lists.linaro.org>,
Mel Gorman <mel@csn.ul.ie>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
Linus WALLEIJ <linus.walleij@stericsson.com>,
Andrea GALLO <andrea.gallo@stericsson.com>,
Vincent GUITTOT <vincent.guittot@stericsson.com>,
Philippe LANGLAIS <philippe.langlais@stericsson.com>,
Loic PALLARDY <loic.pallardy@stericsson.com>,
Andrew Morton <akpm@linux-foundation.org>,
Linus Torvalds <torvalds@linux-foundation.org>,
Thomas Gleixner <tglx@linutronix.de>,
Peter Zijlstra <a.p.zijlstra@chello.nl>
Subject: Re: [RFCv1 0/6] PASR: Partial Array Self-Refresh Framework
Date: Tue, 31 Jan 2012 15:48:28 +0100 [thread overview]
Message-ID: <4F27FF3C.5050000@stericsson.com> (raw)
In-Reply-To: <20120131123903.GB4408@elte.hu>
On 01/31/2012 01:39 PM, Ingo Molnar wrote:
> * Maxime Coquelin<maxime.coquelin@stericsson.com> wrote:
>
>> 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.
> Is this "page-cache flush governor" some existing code?
> How does it work and does it need upstream patches?
For now, such a governor has not been implemented.
I use the dedicated ProcFS interface to test the framework (echo 3 >
/proc/sys/vm/drop_caches).
>>> 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.
> Ok. I guess phones/appliances can generally live with a
> relatively large movable zone as they don't have serious
> memory pressure issues.
Actually, current high-end smartphones and tablets have 1GB DDR.
Smartphones and tablets arriving later this year should have up to 2GB DDR.
For example, my Android phone running for 2 days has only 230MB are used
in idle once the page-caches dropped.
So I think having a 1GB movable zone on a 2GB DDR phone is conceivable.
>>> 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.
> Ok, so do you see real, consistent power savings with a large
> movable zone, with page cache governor patches applied (assuming
> it's a kernel mechanism) and CONFIG_COMPACTION=y enabled, on an
> upstream kernel with all these patches applied?
I don't have consistent figures for now as it is being prototyped.
From the DDR datasheet I gathered, the DDR power savings is about 33%
when half of the die is in self-refresh, compared to the full die in
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>
next prev parent reply other threads:[~2012-01-31 14:49 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-01-30 13:33 [RFCv1 0/6] PASR: Partial Array Self-Refresh Framework Maxime Coquelin
2012-01-30 13:33 ` Maxime Coquelin
2012-01-30 13:33 ` [RFCv1 1/6] PASR: Initialize DDR layout Maxime Coquelin
2012-01-30 13:33 ` Maxime Coquelin
2012-01-30 13:33 ` [RFCv1 2/6] PASR: Add core Framework Maxime Coquelin
2012-01-30 13:33 ` Maxime Coquelin
2012-01-30 13:33 ` [RFCv1 3/6] PASR: mm: Integrate PASR in Buddy allocator Maxime Coquelin
2012-01-30 13:33 ` Maxime Coquelin
2012-01-30 15:22 ` Mel Gorman
2012-01-30 15:22 ` Mel Gorman
2012-01-30 16:52 ` Maxime Coquelin
2012-01-30 16:52 ` Maxime Coquelin
2012-01-31 12:15 ` Maxime Coquelin
2012-01-31 12:15 ` Maxime Coquelin
2012-01-31 14:01 ` Mel Gorman
2012-01-31 14:01 ` Mel Gorman
2012-01-31 18:55 ` Maxime Coquelin
2012-01-31 18:55 ` Maxime Coquelin
2012-02-03 11:44 ` Mel Gorman
2012-02-03 11:44 ` Mel Gorman
2012-01-31 12:46 ` Pekka Enberg
2012-01-31 12:46 ` Pekka Enberg
2012-01-30 13:33 ` [RFCv1 4/6] PASR: Call PASR initialization Maxime Coquelin
2012-01-30 13:33 ` Maxime Coquelin
2012-01-30 13:33 ` [RFCv1 5/6] PASR: Add Documentation Maxime Coquelin
2012-01-30 13:33 ` Maxime Coquelin
2012-02-02 3:51 ` Randy Dunlap
2012-02-02 3:51 ` Randy Dunlap
2012-02-02 17:12 ` Maxime Coquelin
2012-02-02 17:12 ` Maxime Coquelin
2012-01-30 13:33 ` [RFCv1 6/6] PASR: Ux500: Add PASR support Maxime Coquelin
2012-01-30 13:33 ` Maxime Coquelin
2012-01-30 13:53 ` [RFCv1 0/6] PASR: Partial Array Self-Refresh Framework Ingo Molnar
2012-01-30 13:53 ` Ingo Molnar
2012-01-30 14:19 ` Maxime Coquelin
2012-01-30 14:19 ` Maxime Coquelin
2012-01-31 12:39 ` Ingo Molnar
2012-01-31 12:39 ` Ingo Molnar
2012-01-31 14:48 ` Maxime Coquelin [this message]
2012-01-31 14:48 ` Maxime Coquelin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4F27FF3C.5050000@stericsson.com \
--to=maxime.coquelin@stericsson.com \
--cc=a.p.zijlstra@chello.nl \
--cc=akpm@linux-foundation.org \
--cc=andrea.gallo@stericsson.com \
--cc=linaro-mm-sig@lists.linaro.org \
--cc=linus.walleij@stericsson.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=loic.pallardy@stericsson.com \
--cc=mel@csn.ul.ie \
--cc=mingo@elte.hu \
--cc=philippe.langlais@stericsson.com \
--cc=tglx@linutronix.de \
--cc=torvalds@linux-foundation.org \
--cc=vincent.guittot@stericsson.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.