From: Minchan Kim <minchan@kernel.org>
To: Stephan Uphoff <ups@google.com>
Cc: Arnd Bergmann <arnd@arndb.de>,
linaro-kernel@lists.linaro.org, android-kernel@googlegroups.com,
linux-mm@kvack.org, "Luca Porzio (lporzio)" <lporzio@micron.com>,
Alex Lemberg <alex.lemberg@sandisk.com>,
linux-kernel@vger.kernel.org,
Saugata Das <saugata.das@linaro.org>,
Venkatraman S <venkat@linaro.org>,
Yejin Moon <yejin.moon@samsung.com>,
Hyojin Jeong <syr.jeong@samsung.com>,
"linux-mmc@vger.kernel.org" <linux-mmc@vger.kernel.org>
Subject: Re: swap on eMMC and other flash
Date: Tue, 17 Apr 2012 11:18:56 +0900 [thread overview]
Message-ID: <4F8CD310.4010609@kernel.org> (raw)
In-Reply-To: <CAKL-ytvC3dw6p=R1G3GOCst_6B=uOqRK2kWOH9jso_=bgtNOXA@mail.gmail.com>
On 04/17/2012 06:12 AM, Stephan Uphoff wrote:
> Hi Arnd,
>
> On Mon, Apr 16, 2012 at 12:59 PM, Arnd Bergmann<arnd@arndb.de> wrote:
>> On Monday 16 April 2012, Stephan Uphoff wrote:
>>> opportunity to plant a few ideas.
>>>
>>> In contrast to rotational disks read/write operation overhead and
>>> costs are not symmetric.
>>> While random reads are much faster on flash - the number of write
>>> operations is limited by wearout and garbage collection overhead.
>>> To further improve swapping on eMMC or similar flash media I believe
>>> that the following issues need to be addressed:
>>>
>>> 1) Limit average write bandwidth to eMMC to a configurable level to
>>> guarantee a minimum device lifetime
>>> 2) Aim for a low write amplification factor to maximize useable write bandwidth
>>> 3) Strongly favor read over write operations
>>>
>>> Lowering write amplification (2) has been discussed in this email
>>> thread - and the only observation I would like to add is that
>>> over-provisioning the internal swap space compared to the exported
>>> swap space significantly can guarantee a lower write amplification
>>> factor with the indirection and GC techniques discussed.
>>
>> Yes, good point.
>>
>>> I believe the swap functionality is currently optimized for storage
>>> media where read and write costs are nearly identical.
>>> As this is not the case on flash I propose splitting the anonymous
>>> inactive queue (at least conceptually) - keeping clean anonymous pages
>>> with swap slots on a separate queue as the cost of swapping them
>>> out/in is only an inexpensive read operation. A variable similar to
>>> swapiness (or a more dynamic algorithmn) could determine the
>>> preference for swapping out clean pages or dirty pages. ( A similar
>>> argument could be made for splitting up the file inactive queue )
>>
>> I'm not sure I understand yet how this would be different from swappiness.
>
> As I see it swappiness determines the ratio for paging out file backed
> as compared to anonymous, swap backed pages.
> I would like to further be able to set the ratio for throwing away
> clean anonymous pages with swap slots ( that are easy to read back in)
> as compared to writing out dirty anonymous pages to swap.
We can apply the rule in file-lru list too and we already have
ISOLATE_CLEAN mode to select victim pages in LRU list so it should work.
For selecting clean anon pages with swap slot, we need more looking.
Recent, Dan had a question about it and Hugh answered it.
Look at the http://marc.info/?l=linux-mm&m=133462346928786&w=2
--
Kind regards,
Minchan Kim
WARNING: multiple messages have this Message-ID (diff)
From: Minchan Kim <minchan@kernel.org>
To: Stephan Uphoff <ups@google.com>
Cc: Arnd Bergmann <arnd@arndb.de>,
linaro-kernel@lists.linaro.org, android-kernel@googlegroups.com,
linux-mm@kvack.org, "Luca Porzio (lporzio)" <lporzio@micron.com>,
Alex Lemberg <alex.lemberg@sandisk.com>,
linux-kernel@vger.kernel.org,
Saugata Das <saugata.das@linaro.org>,
Venkatraman S <venkat@linaro.org>,
Yejin Moon <yejin.moon@samsung.com>,
Hyojin Jeong <syr.jeong@samsung.com>,
"linux-mmc@vger.kernel.org" <linux-mmc@vger.kernel.org>
Subject: Re: swap on eMMC and other flash
Date: Tue, 17 Apr 2012 11:18:56 +0900 [thread overview]
Message-ID: <4F8CD310.4010609@kernel.org> (raw)
In-Reply-To: <CAKL-ytvC3dw6p=R1G3GOCst_6B=uOqRK2kWOH9jso_=bgtNOXA@mail.gmail.com>
On 04/17/2012 06:12 AM, Stephan Uphoff wrote:
> Hi Arnd,
>
> On Mon, Apr 16, 2012 at 12:59 PM, Arnd Bergmann<arnd@arndb.de> wrote:
>> On Monday 16 April 2012, Stephan Uphoff wrote:
>>> opportunity to plant a few ideas.
>>>
>>> In contrast to rotational disks read/write operation overhead and
>>> costs are not symmetric.
>>> While random reads are much faster on flash - the number of write
>>> operations is limited by wearout and garbage collection overhead.
>>> To further improve swapping on eMMC or similar flash media I believe
>>> that the following issues need to be addressed:
>>>
>>> 1) Limit average write bandwidth to eMMC to a configurable level to
>>> guarantee a minimum device lifetime
>>> 2) Aim for a low write amplification factor to maximize useable write bandwidth
>>> 3) Strongly favor read over write operations
>>>
>>> Lowering write amplification (2) has been discussed in this email
>>> thread - and the only observation I would like to add is that
>>> over-provisioning the internal swap space compared to the exported
>>> swap space significantly can guarantee a lower write amplification
>>> factor with the indirection and GC techniques discussed.
>>
>> Yes, good point.
>>
>>> I believe the swap functionality is currently optimized for storage
>>> media where read and write costs are nearly identical.
>>> As this is not the case on flash I propose splitting the anonymous
>>> inactive queue (at least conceptually) - keeping clean anonymous pages
>>> with swap slots on a separate queue as the cost of swapping them
>>> out/in is only an inexpensive read operation. A variable similar to
>>> swapiness (or a more dynamic algorithmn) could determine the
>>> preference for swapping out clean pages or dirty pages. ( A similar
>>> argument could be made for splitting up the file inactive queue )
>>
>> I'm not sure I understand yet how this would be different from swappiness.
>
> As I see it swappiness determines the ratio for paging out file backed
> as compared to anonymous, swap backed pages.
> I would like to further be able to set the ratio for throwing away
> clean anonymous pages with swap slots ( that are easy to read back in)
> as compared to writing out dirty anonymous pages to swap.
We can apply the rule in file-lru list too and we already have
ISOLATE_CLEAN mode to select victim pages in LRU list so it should work.
For selecting clean anon pages with swap slot, we need more looking.
Recent, Dan had a question about it and Hugh answered it.
Look at the http://marc.info/?l=linux-mm&m=133462346928786&w=2
--
Kind regards,
Minchan Kim
--
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-04-17 2:18 UTC|newest]
Thread overview: 89+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-03-30 17:44 swap on eMMC and other flash Arnd Bergmann
2012-03-30 17:44 ` Arnd Bergmann
2012-03-30 18:50 ` Arnd Bergmann
2012-03-30 18:50 ` Arnd Bergmann
2012-03-30 22:08 ` Zach Pfeffer
2012-03-30 22:08 ` Zach Pfeffer
2012-03-31 9:24 ` Arnd Bergmann
2012-03-31 9:24 ` Arnd Bergmann
2012-04-03 18:17 ` Zach Pfeffer
2012-04-03 18:17 ` Zach Pfeffer
2012-03-31 20:29 ` Hugh Dickins
2012-03-31 20:29 ` Hugh Dickins
2012-03-31 20:29 ` Hugh Dickins
2012-04-02 11:45 ` Arnd Bergmann
2012-04-02 11:45 ` Arnd Bergmann
2012-04-02 14:41 ` Hugh Dickins
2012-04-02 14:41 ` Hugh Dickins
2012-04-02 14:55 ` Arnd Bergmann
2012-04-02 14:55 ` Arnd Bergmann
2012-04-05 0:17 ` 정효진
2012-04-05 0:17 ` 정효진
2012-04-09 12:50 ` Arnd Bergmann
2012-04-09 12:50 ` Arnd Bergmann
2012-04-08 13:50 ` Alex Lemberg
2012-04-08 13:50 ` Alex Lemberg
2012-04-09 2:14 ` Minchan Kim
2012-04-09 2:14 ` Minchan Kim
2012-04-09 7:37 ` 정효진
2012-04-09 7:37 ` 정효진
2012-04-09 8:11 ` Minchan Kim
2012-04-09 8:11 ` Minchan Kim
2012-04-09 8:11 ` Minchan Kim
2012-04-09 13:00 ` Arnd Bergmann
2012-04-09 13:00 ` Arnd Bergmann
2012-04-10 1:10 ` Minchan Kim
2012-04-10 1:10 ` Minchan Kim
2012-04-10 8:40 ` Arnd Bergmann
2012-04-10 8:40 ` Arnd Bergmann
2012-04-12 8:32 ` Luca Porzio (lporzio)
2012-04-12 8:32 ` Luca Porzio (lporzio)
2012-04-09 12:54 ` Arnd Bergmann
2012-04-09 12:54 ` Arnd Bergmann
2012-04-02 12:52 ` Luca Porzio (lporzio)
2012-04-02 12:52 ` Luca Porzio (lporzio)
2012-04-02 14:58 ` Hugh Dickins
2012-04-02 14:58 ` Hugh Dickins
2012-04-02 16:51 ` Rik van Riel
2012-04-02 16:51 ` Rik van Riel
2012-04-04 12:21 ` Adrian Hunter
2012-04-04 12:21 ` Adrian Hunter
2012-04-04 12:47 ` Arnd Bergmann
2012-04-04 12:47 ` Arnd Bergmann
2012-04-11 10:28 ` Adrian Hunter
2012-04-11 10:28 ` Adrian Hunter
2012-07-16 13:29 ` Pavel Machek
2012-07-16 13:29 ` Pavel Machek
2012-04-06 7:15 ` Minchan Kim
2012-04-06 16:16 ` Arnd Bergmann
2012-04-06 16:16 ` Arnd Bergmann
2012-04-09 2:06 ` Minchan Kim
2012-04-09 2:06 ` Minchan Kim
2012-04-09 2:06 ` Minchan Kim
2012-04-09 12:35 ` Arnd Bergmann
2012-04-09 12:35 ` Arnd Bergmann
2012-04-09 12:35 ` Arnd Bergmann
2012-04-10 0:57 ` Minchan Kim
2012-04-10 0:57 ` Minchan Kim
2012-04-10 0:57 ` Minchan Kim
2012-04-10 8:32 ` Arnd Bergmann
2012-04-10 8:32 ` Arnd Bergmann
2012-04-10 8:32 ` Arnd Bergmann
2012-04-11 9:54 ` Minchan Kim
2012-04-11 9:54 ` Minchan Kim
2012-04-11 15:57 ` Arnd Bergmann
2012-04-11 15:57 ` Arnd Bergmann
2012-04-12 2:36 ` Minchan Kim
2012-04-12 2:36 ` Minchan Kim
2012-04-16 18:22 ` Stephan Uphoff
2012-04-16 18:22 ` Stephan Uphoff
2012-04-16 18:59 ` Arnd Bergmann
2012-04-16 18:59 ` Arnd Bergmann
2012-04-16 21:12 ` Stephan Uphoff
2012-04-16 21:12 ` Stephan Uphoff
2012-04-17 2:18 ` Minchan Kim [this message]
2012-04-17 2:18 ` Minchan Kim
2012-04-17 2:05 ` Minchan Kim
2012-04-17 2:05 ` Minchan Kim
2012-04-27 7:34 ` Luca Porzio (lporzio)
2012-04-27 7:34 ` Luca Porzio (lporzio)
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=4F8CD310.4010609@kernel.org \
--to=minchan@kernel.org \
--cc=alex.lemberg@sandisk.com \
--cc=android-kernel@googlegroups.com \
--cc=arnd@arndb.de \
--cc=linaro-kernel@lists.linaro.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=linux-mmc@vger.kernel.org \
--cc=lporzio@micron.com \
--cc=saugata.das@linaro.org \
--cc=syr.jeong@samsung.com \
--cc=ups@google.com \
--cc=venkat@linaro.org \
--cc=yejin.moon@samsung.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.