Về 2., zswap dường như giải nén các trang trên ghi lại, xác nhận nhận xét của @ Cbhihe.
mm / zswap.c , dòng 828:
/*
* Attempts to free an entry by adding a page to the swap cache,
* decompressing the entry data into the page, and issuing a
* bio write to write the page back to the swap device.
* ...
*/
static int zswap_writeback_entry(struct zpool *pool, unsigned long handle)
{
...
case ZSWAP_SWAPCACHE_NEW: /* page is locked */
/* decompress */
...
ret = crypto_comp_decompress(tfm, src, entry->length,
dst, &dlen);
...
kunmap_atomic(dst);
$ git show
commit 1573d2caf713874cfe0d1336c823d0fb548d8bed
Merge: 4cdf8db 0a86248
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date: Tue Oct 11 23:59:07 2016 -0700
Vì vậy, zswap rất hữu ích cho các tình huống trong đó bộ đệm trong ram có khả năng bị quên sớm trước khi ghi lại vào đĩa. Nó không dành cho các ứng dụng có đống lớn, sống lâu mà cuối cùng sẽ cần được hỗ trợ bởi thiết bị trao đổi thực tế.