Re: swap on eMMC and other flash
|[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
On 04/17/2012 06:12 AM, Stephan Uphoff wrote:
Hi Arnd, On Mon, Apr 16, 2012 at 12:59 PM, Arnd Bergmann<arnd@xxxxxxxx> 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@xxxxxxxxx. 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@xxxxxxxxx"> email@xxxxxxxxx </a>