• Dan Magenheimer's avatar
    xen: tmem: enable Xen tmem shim to be built/loaded as a module · 10a7a077
    Dan Magenheimer authored
    Allow Xen tmem shim to be built/loaded as a module.  Xen self-ballooning
    and frontswap-selfshrinking are now also "lazily" initialized when the
    Xen tmem shim is loaded as a module, unless explicitly disabled by
    module parameters.
    
    Note runtime dependency disallows loading if cleancache/frontswap lazy
    initialization patches are not present.
    
    If built-in (not built as a module), the original mechanism of enabling
    via a kernel boot parameter is retained, but this should be considered
    deprecated.
    
    Note that module unload is explicitly not yet supported.
    
    [v1: Removed the [CLEANCACHE|FRONTSWAP]_HAS_LAZY_INIT ifdef]
    [v2: Squashed the xen/tmem: Remove the subsys call patch in]
    [akpm@linux-foundation.org: fix build (disable_frontswap_selfshrinking undeclared)]
    Signed-off-by: default avatarDan Magenheimer <dan.magenheimer@oracle.com>
    Signed-off-by: default avatarKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
    Signed-off-by: default avatarBob Liu <lliubbo@gmail.com>
    Cc: Wanpeng Li <liwanp@linux.vnet.ibm.com>
    Cc: Andor Daam <andor.daam@googlemail.com>
    Cc: Florian Schmaus <fschmaus@gmail.com>
    Cc: Minchan Kim <minchan@kernel.org>
    Cc: Stefan Hengelein <ilendir@googlemail.com>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    10a7a077