• Nhat Pham's avatar
    selftests: add a sanity check for zswap · 6479b292
    Nhat Pham authored
    We recently encountered a bug that makes all zswap store attempt fail. 
    Specifically, after:
    
    "141fdeec mm/zswap: delay the initialization of zswap"
    
    if we build a kernel with zswap disabled by default, then enabled after
    the swapfile is set up, the zswap tree will not be initialized.  As a
    result, all zswap store calls will be short-circuited.  We have to perform
    another swapon to get zswap working properly again.
    
    Fortunately, this issue has since been fixed by the patch that kills
    frontswap:
    
    "42c06a0e mm: kill frontswap"
    
    which performs zswap_swapon() unconditionally, i.e always initializing
    the zswap tree.
    
    This test add a sanity check that ensure zswap storing works as
    intended.
    
    Link: https://lkml.kernel.org/r/20231020222009.2358953-1-nphamcs@gmail.com
    
    Signed-off-by: default avatarNhat Pham <nphamcs@gmail.com>
    Acked-by: default avatarRik van Riel <riel@surriel.com>
    Cc: Domenico Cerasuolo <cerasuolodomenico@gmail.com>
    Cc: Johannes Weiner <hannes@cmpxchg.org>
    Cc: Shuah Khan <shuah@kernel.org>
    Cc: Tejun Heo <tj@kernel.org>
    Cc: Zefan Li <lizefan.x@bytedance.com>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    6479b292
test_zswap.c 8.3 KB