zswap: Defer zswap initialisation
authorPhil Elwell <phil@raspberrypi.com>
Tue, 5 May 2020 14:23:32 +0000 (15:23 +0100)
committerDom Cobley <popcornmix@gmail.com>
Mon, 21 Mar 2022 16:04:02 +0000 (16:04 +0000)
commit5901f39ed42b7d49caff36d89e11459b72ac6f52
treea67d7a68628ffe312434f0a0953aa704219a25b4
parenta701bddb92133b32141d95aee6d77dc3ac99f4e2
zswap: Defer zswap initialisation

Enabling zswap support in the kernel configuration costs about 1.5MB
of RAM, even when zswap is not enabled at runtime. This cost can be
reduced significantly by deferring initialisation (including pool
creation) until the "enabled" parameter is set to true. There is a
small cost to this in that some initialisation code has to remain in
memory after the init phase, just in case they are needed later,
but the total size increase is negligible.

See: https://github.com/raspberrypi/linux/pull/3432

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
mm/zswap.c