Re: [PATCH] mm/zswap: add writethrough option

From: Dan Streetman
Date: Mon Jan 13 2014 - 12:03:32 EST


Ping to see if this patch can get picked up.

On Fri, Jan 3, 2014 at 10:11 AM, Seth Jennings <sjennings@xxxxxxxxxxxxxx> wrote:
> On Thu, Dec 19, 2013 at 08:23:27AM -0500, Dan Streetman wrote:
>> Currently, zswap is writeback cache; stored pages are not sent
>> to swap disk, and when zswap wants to evict old pages it must
>> first write them back to swap cache/disk manually. This avoids
>> swap out disk I/O up front, but only moves that disk I/O to
>> the writeback case (for pages that are evicted), and adds the
>> overhead of having to uncompress the evicted pages and the
>> need for an additional free page (to store the uncompressed page).
>>
>> This optionally changes zswap to writethrough cache by enabling
>> frontswap_writethrough() before registering, so that any
>> successful page store will also be written to swap disk. The
>> default remains writeback. To enable writethrough, the param
>> zswap.writethrough=1 must be used at boot.
>>
>> Whether writeback or writethrough will provide better performance
>> depends on many factors including disk I/O speed/throughput,
>> CPU speed(s), system load, etc. In most cases it is likely
>> that writeback has better performance than writethrough before
>> zswap is full, but after zswap fills up writethrough has
>> better performance than writeback.
>>
>> Signed-off-by: Dan Streetman <ddstreet@xxxxxxxx>
>
> Hey Dan, sorry for the delay on this. Vacation and busyness.
>
> This looks like a good option for those that don't mind having
> the write overhead to ensure that things don't really bog down
> if the compress pool overflows, while maintaining the read fault
> speedup by decompressing from the pool.
>
> Acked-by: Seth Jennings <sjennings@xxxxxxxxxxxxxx>
--
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/